Bootloader error

One of our custom boards failed in bootloader stage with the printed message below. The serial print is halting after printed I2C. Only one board met this problem, others started correctly.

U-Boot SPL 2014.10-rc2-00005-g34b3338 (Nov 15 2016 - 03:42:28)


U-Boot 2014.10-rc2-00005-g34b3338 (Nov 15 2016 - 03:42:28)

TEGRA124
Board: NVIDIA Jetson TK1
I2C:

We did some rework with Tegra K1, however, the problem is the same. Does anyone have any suggestions? Thanks!

Hi Nick, is this completed log ? Can’t see details of which I2C cause halting.

Did you check the input current during power-up to eliminate short risk of chip balls?

If no short issue, you can check the power rails level and power-up sequence based on OEM DG first. If you suspect I2C, you can check the pull up voltage and pull-up resistors.

Hi Trumany, Thanks for your reply.

Yes, this is the complete log. The serial port is halting after that.

We have replaced the TK1 chip with a new one, so it seems the short risk of TK1 chip balls is small. The power rails level is normal. The SDA signal connected to temp sensor is abnormal which is 2 voltage instead of 3.3 voltage. The voltage of SDA signal became around 1.2 voltage after deleting the pull-up resistor.

When running NVHOST tools, it could pass emmc.bat and runmats.bat. However, it halted when running runreg.bat. Below is the last two lines printed on windows.

target_stdout: EMC freq: 102MHz
target_stdout: start box. loops: 0x10 numbox: 30

Does it mean the root cause is related to the SDRAM? Could it be more specific according to the printed messages on the windows? Thanks!

Hi Trumany,

We did some rework with DDR3 SDRAM, but the problem is still the same. Is it possible it is caused by chip failure of DDR3 SDRAM? What does it mean when halting in the step of runreg.bat test? Thanks!

“The SDA signal connected to temp sensor is abnormal which is 2 voltage instead of 3.3 voltage. The voltage of SDA signal became around 1.2 voltage after deleting the pull-up resistor.”

This look like the I2C device damage hung the I2C bus make bus stop working when boot.
Have you tried remove or replace I2C device with a new one?

I have tried to remove the I2C device, but have not yet tried to replace it with new one.
I will try that ,thanks!

Better make sure the bus voltage go normal after remove the device as there are many devices on same bus, must make sure which device damage hung the bus.

“The SDA signal connected to temp sensor is abnormal which is 2 voltage instead of 3.3 voltage. The voltage of SDA signal became around 1.2 voltage after deleting the pull-up resistor.”

The 1.2 voltage is measured after removing all the components on the SDA bus.

I replaced the temp sensor TMP451 with new one, however, the problem is still the same.

Could you help to check what does it mean when halting in the step of runreg.bat test? What kind of problem would cause the runreg.bat halted?

Thanks!

Can you attach a link of “runreg.bat” where you get it from?

For I2C, besides TMP451, there are many other devices on same bus, need remove one by one until bus go correct voltage to find the really damage device.

Hi Jim, the “runreg.bat” is under the folder nvtest_tk1 which I get from the link below
https://drive.google.com/file/d/0B9JDdk5z6XBENXMydzJWTWYzSnc/view?usp=sharing

There is only one TMP451 device on I2C1 bus on our custom board. Other I2C bus voltage is normal. I was wondering when the board is power on, would it check the voltage of I2C? Thanks!

Hi Nick,
Yes, “runreg.bat” is to test SDRAM, may be your TK1 rework not solid enough.
But this not match the original I2C fail, in JTK1 reference design there are many devices on GEN1_I2C including level shift, are you sure TMP451 is the only device on your board?
Yes when system power on their will be I2C command to read ID or something else.

Yes, I am sure only TMP451 on GEN1_I2C bus on our custom board.

The board could pass “runmats.bat” and failed at “runreg.bat”. What kind of problem might cause “runreg.bat” test hang after print the line “target_stdout: start box. loops: 0x10 numbox: 30”? What does this test do at this point? Thanks!

It’s some kind of SDRAM read write pattern.

Hi NICK_LIN,

Have you managed to rework the custom board to make it boot successfully?
Has the issue been clarified and resolved?

Thanks

Hi Kaycc,

We have re-welded the DDR3 SDRAM, but the problem is still the same.

I plan to replace the DDR3 SDRAM with new one, which is on the way.

But I am still wondering if it will work with new one. Do you have any other suggestions?

Thanks!

Hi NICK_LIN,

There is a level shift on GEN1_I2C, did you measured the 1.8V and 3.3V power rails? And what’s the voltage of SDA/SCL on both sides?

Since only this board has such issue, it seems like a hardware failure, please remove all components on GEN1_I2C, just leave pull up resistors of 1.8V side to check the voltage, if it is abnormal still, that should be the TK1 chip GEN1_I2C pins issue.