Custom Board always in Force Recovery Mode

we have made a custom board using Tegra TK1. We have just done memory characterization and trying to flash L4T.
we have successfully reached till the step where log shows Boot downloaded successfully but getting an error at system.img (which is the last step during flashing)
error: failed flashing Ardbeg (seems USB problem according to related questions on the forum)

Now my question is that when we power up our board, it always remains in force recovery mode, even we do not press the force recovery button. is it a normal thing or there is some problem with the board.
Do you have any idea?
Thank you

Hi, can you please post full log of download here?

log on host side

*** Flashing target device started. ***
./nvflash --boardid 0x177 0x00 0x03 --bct PM375_Hynix_2GB_H5TC4G63AFR_H5TC4G63CFR_RDA_924MHz.cfg --setbct --configfile flash.cfg --create --bl fastboot.bin --odmdata 0x6009C000 --go
Nvflash 4.13.0000 started
BR_CID: 0x34001001741141021c000000060001c0
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: 0x00000001741141021c000000060001c0
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

  • 59661/59661 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 downloaded successfully
    ML execution and Cpu Handover took 3 Secs
    Partition backup took 0 Secs
    setting device: 2 3
    deleting device partitions
    creating partition: BCT
    creating partition: PPT
    creating partition: PT
    creating partition: EBT
    creating partition: LNX
    creating partition: SOS
    creating partition: NVC
    creating partition: MPB
    creating partition: MBP
    creating partition: GP1
    creating partition: APP
    creating partition: DTB
    creating partition: EFI
    creating partition: USP
    creating partition: TP1
    creating partition: TP2
    creating partition: TP3
    creating partition: WB0
    creating partition: UDA
    creating partition: GPT
    sending file: ppt.img
    \ 2097152/2097152 bytes sent
    ppt.img sent successfully
    sending file: u-boot.bin
  • 439856/439856 bytes sent
    u-boot.bin sent successfully
    sending file: system.img
    / 4194304/3100234756 bytes sentdata send failed NvError 0x120002
    command failure/warning: create failed (bad data)

prints from serial side

Serial Console:
[0000.000] [TegraBoot] (version UNDEF_BUILD)
[0000.003] Reset reason: power on reset
[0000.007] Processing in recovery mode
[0000.010] Established communication link with host
[0001.121] Downloaded bct successfully
[0001.135] No Battery Present
[0001.139] Sdram initialization is successful
[0001.179] Downloaded DTB successfully
[0001.213] No Battery Present
[0001.510] Downloaded bootloader successfully
[0001.514] CPU-bootloader entry address: 0x83d88000
[0001.519] BoardId: 375
[0001.521] Vpr Carveout Base=0x0f4600000 Size=0x00ba00000
[0001.526] Tsec Carveout Base=0x0f2600000 Size=0x002000000
[0001.531] Lp0 Carveout Base=0x0f25ff000 Size=0x000001000
[0001.536] Xusb Carveout Base=0x0f2300000 Size=0x000200000
[0001.541] Platform-DebugCarveout: 0
[0001.568] CPU power rail is up
[0001.571] Performing RAM repair
[0001.574] CPU clock init successful
[0001.577] Starting CPU & Halting co-processor

Could you share what have you done for “memory characterizatio”?

yes, I tested memory characterization by running “runme_instead_TK1_Full.bat”
and tested at 204MHZ. I shared my logs and config file at this thread.
if you need more information, please let me know.

Does your flash procedure always halt at the same line with “4194304” bytes send?
Is this flash package working okay on original tk1 board?

no sir, it halts at different bytes. but there are some 3 or 4 different values at which it halted.
we have not yet tested it on original tk1 board.

Not yet have any idea. Could you describe what have you changed between original tk1 board and your board?

I have just changed DDR. I created a config file by creating its param file using memory characterization.
I updated the config file name in jetson-tk1.conf in Linux for Tegra directory.
These are the only things that are changed from the original procedure and board.
The part number for the DDR I am using is
MT41K256M16TW-107 AUT:P
we have also tried flashing using HUB but no still no luck. If you have any suggestion, please let us know.

Do you use your own BCT? Why I saw there is " --bct PM375_Hynix_2GB_H5TC4G63AFR_H5TC4G63CFR_RDA_924MHz.cfg" in your log?

actually, I rename my BCT with this name instead of changing in jetson-tk1.conf
but I also tried by replacing my BCT name in jetson-tk1.conf, I am getting the same results.

I also notice your system.img is larger than our original one from jetpack.
Could you try to use your package on our board first?

I have tested the same thing on Jetson TK1 kit. It flashed successfully and it is booting successfully.
I can send you logs if you want to see.

Sir, I want to tell you that we have also the different part number for eMMC.
it is of 32GB, do we need some changes in uboot for this or it required any additional test for eMMC as we do for SDRAMs ?

How about flashing the default rootfs from jetpack?

I am following this to flash and getting the error in the custom board as I discussed

and following the same thing on jetson kit, I was successful. my custom board does not have ethernet so I may not be able to follow jetpack documentation.

Let me check with internal team with eMMC first. Have you done any test on eMMC? or only shmoo on SDRAM?

No, i didn’t run any test for eMMC. Please let me know if any required.

From current log, your device does not enter below line. Not sure whether CPU starting is failed or not. Still checking.

[0001.251] Starting CPU & Halting co-processor
NVRM Initialized shmoo database --> missing