Port on Board DDR Chip on QorIQ T1&2 Series

Table of Contents

FSL(Now is NXP) used DIMM slot on T1040RDB and T2080QDS board. And my company first customized board used DIMM also.

But, due to the reliability, we decided change DIMM slot to on board DDR chip, so I need make it work.

The fsl support one powerful tool named ‘Code warrior’ and it has a plugin named ‘QCVS’. We can validate DDR configurates by it. See Ref.4 for more information.

After validate, we should make some change to U-Boot.

First add ‘CONFIG_SYS_DDR_RAW_TIMING’ defined in board config.h file.

Then add followed code into board/ddr.c

dimm_params_t description:

Member Description
rank_density 每一个Rank的DDR容量,即一个CS对应的容量,单位字节
capacity 总容量,单位字节
burst_lengths_bitmask
n_ranks Rank的数量,即使用了几根CS信号
data_width 数据宽度,DATA和ECC数据宽度的总和,一般为64/72(with ECC)
primary_sdram_width DATA数据宽度,一般为64
ec_sdram_width ECC的数据宽度,一般为0/8(with ECC)
registered_dimm 一般为0
mirrored_dimm 是否支持address mirror,see Ref.2 for more information
device_width DDR颗粒数据宽度,根据实际芯片的数据宽度来定,一般为8/16
n_row_addr DDR颗粒的Row Address
n_col_addr DDR颗粒的Column Address
edc_config 0 = none
1 = parity
2 = ECC
n_banks_per_sdram_device DDR颗粒的Bank address
tckmin_x_ps
caslat_x
taa_ps
trcd_ps
trp_ps
tras_ps
tfaw_ps
twr_ps
twtr_ps
trfc_ps
trrd_ps
trtp_ps
trc_ps
refresh_rate_ps

Third fill struct with QCVS validate parameters into board/ddr.h, seems as:

 

Reference

  1. T2081 DDR3L on-board initialisation
  2. DDR3 memory mirroring – PCB layout
  3. U-Boot:board/freescale/t102xrdb/ddr.c
  4. QCVS_DDR_User_Guide.pdf
  5. Micron:4Gb_DDR3L.pdf

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.