imx6 board hanging while running Linux

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

imx6 board hanging while running Linux

2,134 Views
hakanaydin
Contributor II

Hello,

 

We have a custom imx6 board. The board is based on the SABRE QP board. The two major differences are, we are using a Quad device, not a QuadPlus device, and also, we have 2GB total RAM instead of 1GB.

We're using SD3 as our boot device. During bring-up, we've ran into boot issues and started the thread: https://community.nxp.com/thread/445695  .Thanks to the answer we received in that thread, we managed to boot after running calibration. However we're now running into other problems.

 

After booting linux (and sometimes, *while* booting linux), at seemingly random times (after a few seconds, minutes, and in some cases, a couple hours), the system becomes completely unresponsive. There is no console output, ethernet connectivity is dead, etc. This appears to happen for no specific reason, it appears to be somewhat random. Nothing special is running on linux at the time of hang, it is just sitting there on the command line prompt (or sometimes in the middle of the boot process).

 

When this happens, we checked the supply rails and all appear to be OK. Also, to rule out any DRAM related issues, we ran overnight tests with the stress tester on the DDR3 chips (via the USB OTG interface), and all appears to be OK. We also ran DDR tests in u-boot and that seems to be OK as well. Similarly, when the board does boot and remain active for a couple hours, we run the linux memtester and we receive no errors there either.

 

We're not sure how to go about finding the problem. What could be possible sources of hang and how can we go about zeroing in on the problem?

 

Thanks,

Labels (2)
9 Replies

1,366 Views
hakanaydin
Contributor II

Hello,

Yes we use the second configuration. That second configuration should work both for QP and Q.

I am not sure I understood your response though:  """ So one can check linux sources and schematic for that usage.""""

What does this have to do with linux sources? Or, why do you suspect a power supply issue? The board, in some cases, runs for hours without a problem as I mentioned in my original post. That should eliminate any supply/sequencing issues I presume?

Best,

0 Kudos

1,366 Views
igorpadykov
NXP Employee
NXP Employee

second configuration requires linux modifications for Q images,

had you implemented them.

NXP linux sources use Q first configuration and there is no

compatibility with second. Also i.MX6QP has some modules which are

absent in i.MX6Q, these should be excluded from linux build.

0 Kudos

1,366 Views
hakanaydin
Contributor II

Hello,

Our power stage design is based on QP (SPF-28857). However, we populated our board with a Q and in order to create the SD card image for our board, we use the files/configuration for SABRE Q as a reference. Are you saying this is a problem? What in linux exactly deals with the power infrastructure?

0 Kudos

1,366 Views
igorpadykov
NXP Employee
NXP Employee

i.MX6QP has some modules which are

absent in i.MX6Q, these should be excluded from linux build.

>we use the files/configuration for SABRE Q as a reference

so you used i.MX6Q configuration, right? Then you should change for example

pmic sw2 configuration, because in i.MX6QP design it is used differently.

0 Kudos

1,366 Views
hakanaydin
Contributor II

Are you saying that, PMIC SW2 is controlled by Linux, so therefore I should modify something in Linux to operate correctly? What is Linux doing with the PMIC and in particular SW2?

If we are really doing something wrong with it, how is it that the board in some cases works for hours?

Thanks for your help,

0 Kudos

1,366 Views
david_dicarlo
NXP Employee
NXP Employee

I saw this thead and thought I'd jump in to clarify a little further.

The configuration of the PMIC (which outputs are ganged together and what supply they're connected to) is slightly different between the original i.MX6Q SDB and the i.MX6QP SDB because of the additional current demands of the Plus device. 

The linux image for the board needs to be modified to match the particular PMIC configuration used. The board choices in Yocto doesn't accommodate placing an i.MX6Q onto an i.MX6QP SDB because the board choice options in stock Yocto only support the NXP evaluation hardware as configured.

Not being a software person, I can't speak to what needs to change and where, but I believe changes need to be made in the device tree configuration for the board. There may be additional things that need to be done to uboot, DCD table and linux, but someone more versed in software would need to analyze that (I provide predominantly hardware support for i.MX).

0 Kudos

1,366 Views
hakanaydin
Contributor II

The problem turned out to be a few incorrect register settings for DDR3 configuration. We regenerated the registers using the Excel aid, and now the board is stable. (Several boards running for several hours) Surprisingly, with these few registers incorrectly configured, the board sometimes functions as much as 4 hours without a problem!

As for the PMIC configuration etc, I am not an expert on this so I'd still appreciate your comments and thoughts, but here is my educated guess: I don't believe you have to change anything on the Linux side in order to have a *functional* board. I believe you must do the changes to Linux side, only if you want to make use of all power saving, frequency scaling, sleep, shutdown etc. features properly.

I say "educated guess", but I am slightly more confident than that, because I have proof that you don't need to change anything, because I have functional boards. My guess is that even if you completely disconnect the PMIC I2C, the board would still be functional.

Your thoughts? Am I missing anything?

Best regards,

0 Kudos

1,366 Views
igorpadykov
NXP Employee
NXP Employee

>Are you saying that, PMIC SW2 is controlled by Linux,

exactly, please refer to Linux Manual in doc package below Chapters 21-25

http://www.nxp.com/webapp/Download?colCode=L4.1.15_2.0.0-LINUX-DOCS&Parent_nodeId=133769948107170617... 

Best regards
igor

0 Kudos

1,366 Views
igorpadykov
NXP Employee
NXP Employee

Hi Hakan

SABRE 6QP (spf-28857) board uses some different power supplies than SABRE 6Q (spf-27392)

in particular SW2. So one can check linux sources and schematic for that usage.

pastedImage_1.jpg

pastedImage_2.jpg

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

0 Kudos