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.

AM625: Memory violation when configuring 2GB of ddr4 split on 2 chip of 1GBytes with 1 Chip select.

Part Number: AM625
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hello,

I encounter a memory violation with TiSDK 10.00.07.04 when test RAM with stress-ng or flashing eMMC with the dd command.

We have 2 board design base on the design of the TI AM625 SK EVM board, on use 2 ddr4 chip of 1GBytes and the other one use 2 ddr4 chip of 2GBytes, both are connected to a unique chip select signal.

I use the default ddr4 configuration of the TiSDK for ddr4, rank = 1 and density = 16G bits .

The result are:

- 2 x 2GB ddr4 is working fine.

- 2 x 1GB ddr4, and linux raised a memory violation that indicate an access in out of the memory.

I try the ddr4 configuration of the TiSDK for ddr4, rank = 1 and density = 8G bits.

- 2 x 1GB ddr4, and doesn't raised the memory violation but the u-boot tftpboot flow is very slow and failed some times.

1- Could you confirm what should be the configuration in sys_config tools for both ddr4 configuration.

2- What is the the purpose of the setting : CONFIG_ARCH_FIXUP_FDT_MEMORY ? Should I disable this feature ?

CONFIG_ARCH_FIXUP_FDT_MEMORY:                                                                                                                                                  │  
  │                                                                                                                                                                                │  
  │ Enable FDT memory map syncup before OS boot. This feature can be                                                                                                               │  
  │ used for booting OS with different memory setup where the part of                                                                                                              │  
  │ the memory location should be used for different purpose.                                                                                                                      │  
  │                                                                                                                                                                                │  
  │ Symbol: ARCH_FIXUP_FDT_MEMORY [=y]                                                                                                                                             │  
  │ Type  : bool                                                                                                                                                                   │  
  │ Prompt: Enable arch_fixup_memory_banks() call                                                                                                                                  │  
  │   Location:                                                                                                                                                                    │  
  │     -> Boot options                                                                                                                                                            │  
  │       -> Devicetree fixup                                                                                                                                                      │  
  │   Defined at boot/Kconfig:1600                                                                                                                                                 │  
  │   Depends on: OF_LIBFDT [=y]                                                                                                                                                   │  
  │                                     

The u-boot configuration use is am62x_evm_r5_defconfig for R5 and  am62x_evm_a53_defconfig for A53.

The memory violation doesn't occurs when using Ti SDK 08.06.

Could you please, help me to identify the issue, let me know what inputs you need ?

Regards,

Alexis.

  • Alexis, on the question of sysconfig, if you have 1GB devices (ie, each x8 chip is 1GB), then the configuration should be:

    Data Bus Width (per device) = 8
    Density (per device) (Gb) = 8
    Chip Selects / Ranks = 1

    For the board with 2GB devices, the configuration should be:

    Data Bus Width (per device) = 8
    Density (per device) (Gb) = 16
    Chip Selects / Ranks = 1

    So i think your only issue is the the tftpboot issue.  I will have to pass this on to Bin.

    Regards,

    James

  • Hi Alexis,

    Can you please provide some details of the memory violation problem? any console log would be helpful.