Hardware problem when flashing

One of our custom boards failed flashing.

Below is the printed message from serial console, it seems the problem comes from I2C communication with PMU. However, the problem is still there after reworking with PMU. Is there any other place should I take care of?

Besides, is there any detailed codes or documents which describle the process of flashing?

[/code]

[0000.000] [TegraBoot] (version UNDEF_BUILD)
[0000.004] Reset reason: power on reset
[0000.008] Processing in recovery mode
[0000.011] Established communication link with host
[0001.039] Downloaded bct successfully 
[0001.043] No Battery Present
[0001.047] Sdram initialization is successful 
[0001.065] Downloaded DTB successfully 
[0001.070] No Battery Present
[0001.230] Downloaded bootloader successfully 
[0001.234] CPU-bootloader entry address: 0x83d88000 
[0001.238] BoardId: 375
[0001.241] Vpr Carveout Base=0x0f4600000 Size=0x00ba00000
[0001.246] Tsec Carveout Base=0x0f2600000 Size=0x002000000
[0001.251] Lp0 Carveout Base=0x0f25ff000 Size=0x000001000
[0001.256] Xusb Carveout Base=0x0f2300000 Size=0x000200000
[0001.261] Platform-DebugCarveout: 0
[0001.288] NvTbootI2cWrite(): error code 0x00045100 Error while starting write transaction
[0001.296] NvTbootI2cDeviceWrite(): error code 0x00045001 Error while writing
[0001.302] NvTbootI2c: Read failed for slave 0x80, offset 0x00 with error code 0x00045001
[0001.310] FAILURE in NvTbootConfigureCpu
[0001.314] Error is 45001

[code]lk@ubuntu:~/JetPackTK1-1.2/Linux_for_Tegra$ sudo ./flash.sh jetson-tk1 mmcblk1p1
copying bctfile(/home/lk/JetPackTK1-1.2/Linux_for_Tegra/bootloader/ardbeg/BCT/PM375_Hynix_2GB_H5TC4G63AFR_RDA_792MHz.cfg)… done.
copying bootloader(/home/lk/JetPackTK1-1.2/Linux_for_Tegra/bootloader/ardbeg/u-boot.bin)… done.
populating kernel to rootfs… done.
populating jetson-tk1_extlinux.conf.sdcard to rootfs… done.
done.
copying dtbfile(/home/lk/JetPackTK1-1.2/Linux_for_Tegra/kernel/dtb/tegra124-jetson_tk1-pm375-000-c00-00.dtb)… done.
copying cfgfile(/home/lk/JetPackTK1-1.2/Linux_for_Tegra/bootloader/ardbeg/cfg/gnu_linux_fastboot_emmc_full.cfg) to flash.cfg… done.
creating gpt(ppt.img)…

*** GPT Parameters ***
Device Sector Size ------- 512
device size -------------- 15766388736
bootpart size ------------ 8388608
userpart size ------------ 15758000128
Erase Block Size --------- 2097152
FS Buffer size ----------- 4096
Partition Config file ---- flash.cfg
Visible partition flag — GP1
Primary GPT output ------- PPT->ppt.img
Secondary GPT output ----- GPT->gpt.img
Target device name ------- none

*** PARTITION LAYOUT(20 partitions) ***
[ BCT] BH 0 16383 8.0MiB
[ PPT] UH 0 4095 2.0MiB ppt.img
[ PT] UH 4096 8191 2.0MiB
[ EBT] UH 8192 16383 4.0MiB u-boot.bin
[ LNX] UH 16384 49151 16.0MiB
[ SOS] UH 49152 61439 6.0MiB
[ NVC] UH 61440 65535 2.0MiB
[ MPB] UH 65536 77823 6.0MiB
[ MBP] UH 77824 90111 6.0MiB
[ GP1] UH 90112 94207 2.0MiB
[ APP] UV 94208 29454335 14336.0MiB
[ DTB] UV 29454336 29462527 4.0MiB tegra124-jetson_tk1-pm375-000-c00-00.dtb
[ EFI] UV 29462528 29593599 64.0MiB
[ USP] UV 29593600 29601791 4.0MiB
[ TP1] UV 29601792 29609983 4.0MiB
[ TP2] UV 29609984 29618175 4.0MiB
[ TP3] UV 29618176 29626367 4.0MiB
[ WB0] UV 29626368 29630463 2.0MiB
[ UDA] UV 29630464 30773247 558.0MiB
[ GPT] UH 30773248 30777343 2.0MiB gpt.img
copying flasher(/home/lk/JetPackTK1-1.2/Linux_for_Tegra/bootloader/ardbeg/fastboot.bin)… done.
Existing flashapp(/home/lk/JetPackTK1-1.2/Linux_for_Tegra/bootloader/nvflash) reused.
*** Flashing target device started. ***
./nvflash --boardid 0x177 0x00 0x03 --bct PM375_Hynix_2GB_H5TC4G63AFR_RDA_792MHz.cfg --setbct --configfile flash.cfg --create --bl fastboot.bin --odmdata 0x6009C000 --go
Nvflash 4.13.0000 started
BR_CID: 0x340010017411410310000000160583c0
rcm version 0X400001
Skipping BoardID read at miniloader level
System Information:
chip name: unknown
chip id: 0x40 major: 1 minor: 1
chip sku: 0x0
chip uid: 0x000000017411410310000000160583c0
macrovision: disabled
hdcp: disabled
jtag: disabled
sbk burned: false
board id: 0
warranty fuse: 0
dk burned: false
boot device: emmc
operating mode: 3
device config strap: 0
device config fuse: 0
sdram config strap: 0

RCM communication completed
auxInfo->NCTBoardInfo->proc_board_id is 375
auxInfo->NCTBoardInfo->proc_sku is 0
auxInfo->NCTBoardInfo->proc_fab is 3
BCT sent successfully
sending file: tegra124-jetson_tk1-pm375-000-c00-00.dtb

  • 59637/59637 bytes sent
    tegra124-jetson_tk1-pm375-000-c00-00.dtb sent successfully
    odm data: 0x6009c000
    downloading bootloader – load address: 0x83d88000 entry point: 0x83d88000
    sending file: fastboot.bin
  • 594363/594363 bytes sent
    fastboot.bin sent successfully
    waiting for bootloader to initialize
    bootloader failed NvError 0x0
    command failure/warning: bootloader download failed (bad data)
    bootloader status: device failure (code: 2) message: flags: 0

Failed flashing ardbeg.


Hi NICK_LIN,

Did you check the PU resistors and signal waveform of PWR_I2C? Since this failure is not on all boards, assume it is a board issue, you need to check the I2C signal firstly.

Hi Trumany,

Thanks for your reply.

Yes, it is a board issue. The waveform of PWR_I2C seems odd. The attached picture is the captured waveform. It seems I2C communication stuct at the first byte.

Could you explain how to check the PU registors and what is the right value of PU registors? Thanks!

PU of PWR_I2C are R3B6, R3B7 on Jetson board, both are 1Kohm. You can check if it is same on your board.

Can’t see the picture of waveform…

The attachement is still in the process of SCANNING… PLEASE WAIT.

Attachments
[SCANNING… PLEASE WAIT] I2C_error.jpg

Please find the attchment with following link.
https://drive.google.com/open?id=0B1OwKZBEYjM4TENQa0FJaXpIMW8

The I2C waveform is odd which stopped at first byte. I have no idea what that means?

Thanks!

No ACK in the waveform, that means no answer comes from PMIC.

List several checks might be related:

Check the 5V input (+5V_SYS) to PMIC is normal or not.
Check the VBAT_BKUP, V2_5 pins status.
Check the 32K clock output.
Check the XRES_IN status.

Thanks Trumany!

According to your check list, I found out V2_5 is abnormal which is 5V.

The problem is caused by +5V_SYS shorted to EN5V pin.

Thanks for your help!