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.

Linux/AM5728: Output of "bdinfo" in U-Boot

Part Number: AM5728
Other Parts Discussed in Thread: PMP

Tool/software: Linux

Is it normal for me to see 0x0 for arch_number and DRAM size of 0x7F00_0000, and not the full 2GB (0x8000_0000)?

arch_number = 0x00000000
boot_params = 0x80000100
DRAM bank = 0x00000000
-> start = 0x80000000
-> size = 0x7F000000
baudrate = 115200 bps
TLB addr = 0xFEFF0000
relocaddr = 0xFEF55000
reloc off = 0x7E755000
irq_sp = 0xFCF1DCA0
sp start = 0xFCF1DC90
Early malloc usage: 7fc / 2000
fdt_blob = fcf1dcb8


This is a custom AM5728 board.

  • Hi,

    Which Processor SDK Linux version are you using?

    Best Regards,
    Yordan
  • Hi,

    Yes, I am not sure why, but this is what I get on the EVM on my side:
    => bdinfo
    arch_number = 0x00000000
    boot_params = 0x80000100
    DRAM bank = 0x00000000
    -> start = 0x80000000
    -> size = 0x80000000
    baudrate = 115200 bps
    TLB addr = 0xFFFF0000
    relocaddr = 0xFFF4F000
    reloc off = 0x7F74F000
    irq_sp = 0xFDF15D40
    sp start = 0xFDF15D30
    Early malloc usage: 700 / 2000
    fdt_blob = fdf15d58

    The DRAM size however is correct. Check if your u-boot correctly initializes and detects the whole DDR.

    Same arch number.

    Best Regards,
    Yordan
  • Thanks for the response.

    Can you please check if anything is glaringly obviously off? I generated these from the EMIF Registor Configuration Excel Sheet from TI:

    static const struct dmm_lisa_map_regs solix_dev_lisa_regs = {
    .dmm_lisa_map_0 = 0x0,
    .dmm_lisa_map_1 = 0x0,
    .dmm_lisa_map_2 = 0x80740300,
    .dmm_lisa_map_3 = 0xFF020100,
    .is_ma_present = 0x1
    };

    static const struct emif_regs solix19_emif_ddr3_533mhz_emif_regs = {

    .sdram_config_init = 0x61873BB2,
    .sdram_config = 0x61873BB2,
    .sdram_config2 = 0x00000000,
    .ref_ctrl = 0x100040F1,
    .ref_ctrl_final = 0x1000081A,
    .sdram_tim1 = 0xCEEF266B,
    .sdram_tim2 = 0x30BF7FDA,
    .sdram_tim3 = 0x407F8BA8,
    .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 = 0x0024400F,
    .emif_ddr_phy_ctlr_1 = 0x0E24400F,
    .emif_rd_wr_exec_thresh = 0x00000305,

    //.emif_ecc_ctrl_reg = 0x00000000,
    //.emif_ecc_address_range_1 = 0x3FFF0000,
    //.emif_ecc_address_range_2 = 0x00000000,
    };

    I don't know why I don't see .emif_ddr_ext_phy_ctrl_2/3/4/5/ from the spreadsheet output? I see them for beagle_x15_emif1_ddr3_532mhz_emif_regs from the SDK>

    I have 4 memory modules (2 for each EMIF) totaling 4 GB of DDR3.

  • I will take a look at this. In the mean time can you show the bootlog from the beginning of the boot process until you see the "Starting Kernel....." message?

    Also, have you tested these settings (the one generated from the EMIF configuration tool) with the CCS & GEL files (over JTAG)? This is a crucial part in validating the correctness of your timing parameters.

    Thanks,
    Yordan
  • Here is the early boot log:

    U-Boot SPL 2018.01-g2c106dbf54 (Feb 20 2019 - 23:03:05)
    DRA752-GP ES2.0
    Trying to boot from MMC1
    no pinctrl state for default mode
    no pinctrl state for default mode
    reading u-boot.img
    reading u-boot.img


    U-Boot 2018.01-g2c106dbf54 (Feb 20 2019 - 23:03:05 +0000)

    CPU : DRA752-GP ES2.0
    Model: TI AM5728 IDK
    Board: Solix19 Dev
    DRAM: 2 GiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    SCSI: SATA link 0 timeout.
    AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
    flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
    scanning bus for devices...
    Found 0 device(s).
    Net: eth0: ethernet@48484000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    ** Unable to read file boot.scr **
    ** Unable to read file uEnv.txt **
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    4096512 bytes read in 195 ms (20 MiB/s)
    92996 bytes read in 18 ms (4.9 MiB/s)
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8ffe6000, end 8ffffb43 ... OK
    ## Transferring control to Linux (at address 82000000)...

    Starting kernel ...

    Funny that you should ask for this, I am stuck on "Starting kernel ...". I have a suspicion that my DDR is incorrectly setup.

    I will try to validate the parameters with GEL file.

    Thanks for looking into this Yordan.

  • Hi,

    Using the following lisa map values:
    .dmm_lisa_map_2 = 0x80740300,
    .dmm_lisa_map_3 = 0xFF020100,

    You are mapping 2GB interleaved (dmm_lisa_map_2) on EMIF1 & EMIF2 and 16MB non-interleaved on EMIF1, so as per these settings your board sees 2GB memory.

    Take a look at the following thread: e2e.ti.com/.../586776

    Best Regards,
    Yordan