custom imx6q board bring up problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

custom imx6q board bring up problem

1,573 Views
maximpodberezni
Contributor III


Hi!

I'm trying to bring up a custom imx6q board using JTAG, because it has only NAND for booting and no SD connector attached. The design has imx6q and two DDR3 chips (MT41J256M16HA-125:E) populated. First of all I try to use the DDR stress test tool v2.40 to test and calibrate DDR3 memory. The test I took from here:

i.MX6/7 DDR Stress Test Tool V2.40

It starts, I can choose options but then it hangs. I don't know why and where in the code. I don't the sources.

============================================

        DDR Stress Test (2.4.0)

        Build: Dec 11 2015, 11:09:30

        Freescale Semiconductor, Inc.

============================================

============================================

        Chip ID

CHIP ID = i.MX6 Dual/Quad (0x63)

Internal Revision = TO1.5

============================================

============================================

        Boot Configuration

SRC_SBMR1(0x020d8004) = 0x00003050

SRC_SBMR2(0x020d801c) = 0x22000001

============================================

What ARM core speed would you like to run?

Type 1 for 800MHz, 2 for 1GHz, 3 for 1.2GHz

ARM Clock set to 1GHz

============================================

        DDR configuration

BOOT_CFG3[5-4]: 0x00, Single DDR channel.

DDR type is DDR3

Data width: 32, bank num: 8

Row size: 14, col size: 10

No chip select is enabled

Density per chip select: 512MB

============================================

Current Tempareture: 31

============================================

Please select the DDR density per chip select (in bytes) on the board

Type 0 for 2GB; 1 for 1GB; 2 for 512MB; 3 for 256MB; 4 for 128MB; 5 for 64MB; 6 for 32MB

For maximum supported density (4GB), we can only access up to 3.75GB.  Type 7 to select this

  DDR density selected (MB): 512

Would do you want run DDR Calibration? Type 'y' to run and 'n' to skip

Calibration will run at DDR frequency 528MHz. Type 'y' to continue.

If you want to run at other DDR frequency. Type 'n'

Enter the DDR frequency for calibration [350MHz to 528MHz]:

350

  The freq you entered was: 350

  Please enter the MR1 value on the initilization script

  This will be re-programmed into MR1 after write leveling calibration

  Enter as a 4-digit HEX value, example 0004, then hit enter

0004DDR Freq: 352 MHz

ddr_mr1=0x00000004

Start write leveling calibration...

running Write level HW calibration

Write leveling calibration completed, update the following registers in your initialization script

    MMDC_MPWLDECTRL0 ch0 (0x021b080c) = 0x00010001

    MMDC_MPWLDECTRL1 ch0 (0x021b0810) = 0x00010001

Write DQS delay result:

   Write DQS0 delay: 1/256 CK

   Write DQS1 delay: 1/256 CK

   Write DQS2 delay: 1/256 CK

   Write DQS3 delay: 1/256 CK

Please suggest what to do next

Labels (2)
0 Kudos
6 Replies

795 Views
igorpadykov
NXP Employee
NXP Employee

Hi Maxim

one can attach jtag debugger as described in i.MX6 System Development User’s Guide

Chapter 7 Configuring JTAG Tools, use board scripts from ddr test link,

update script with own init ddr codes. Then try read/write from some memory address,

observing ddr signals with oscilloscope.

Best regards

igor

0 Kudos

795 Views
maximpodberezni
Contributor III

Hi Igor!

I don't like the message that "No chip select is enabled" in the stress tool. I'm pretty sure the problem lies here. Where should it be enabled?

0 Kudos

795 Views
maximpodberezni
Contributor III

By the way I tried to request the sources of the DDR3 stress tool with Avnet representative, but NXP refused to. Will try to figure out what is wrong myself

0 Kudos

795 Views
igorpadykov
NXP Employee
NXP Employee

Hi Maxim

suggest also try older version

i.MX6 DDR Stress Test Tool V1.0.3

then run simple read/write test with jtag and check if board

hangs. Recommended to check Chapter 8 Avoiding Board Bring-up Problems

i.MX6 System Development User’s Guide

http://cache.freescale.com/files/32bit/doc/user_guide/IMX6DQ6SDLHDG.pdf

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

795 Views
maximpodberezni
Contributor III

Hi Igor!

Thank you for your help!

1.0.3 works even worse because it hangs right here:

******************************

    DDR Stress Test (1.0.3) for MX6DQ

    Build: Sep 18 2014, 11:11:44

    Freescale Semiconductor, Inc.

******************************

=======DDR configuration==========

BOOT_CFG3[5-4]: 0x00, Single DDR channel.

DDR type is DDR3

Data width: 32, bank num: 8

Row size: 14, col size: 10

No chip select is enabled

Density per chip select: 512MB

==================================

What ARM core speed would you like to run?

Type 0 for 650MHz, 1 for 800MHz, 2 for 1GHz, 3 for 1.2GHz

  ARM set to 1GHz

Please select the DDR density per chip select (in bytes) on the board

Type 0 for 2GB; 1 for 1GB; 2 for 512MB; 3 for 256MB; 4 for 128MB; 5 for 64MB; 6 for 32MB

For maximum supported density (4GB), we can only access up to 3.75GB.  Type 9 to select this

  DDR density selected (MB): 64

Calibration will run at DDR frequency 528MHz. Type 'y' to continue.

If you want to run at other DDR frequency. Type 'n'

please tell how to do simple memory read/writes with JTAG

0 Kudos

795 Views
maximpodberezni
Contributor III

I can see that when I run tests the tool reports:

BOOT_CFG3[5-4]: 0x00, Single DDR channel.

DDR type is DDR3

Data width: 32, bank num: 8

Row size: 14, col size: 10

No chip select is enabled

Density per chip select: 512MB

while I saw other logs where CS0 used:

Chip select CSD0 is used

How can I enable CS0?

0 Kudos