Hi,
We have a custom carrier board for the Jetson Nano (eMMC) and try to program it via µUSB. During flashing the device suddenly stops and we do not know the reason for this. We see two different problems un-deterministically.
In the first case, we see that the Nano finds some strange device / board information:
Enabled early print
[L4T TegraBoot] (version 00.00.2018.01-l4t-32cd7ad9)
Processing in recovery mode
A02 Bootrom Patch rev = 1023
Power-up reason: pmc por
Established communication link with host
Odmdata from BCT: 0x00094000
DebugPort= 0x3
BoardId read from EEPROM/NCT: 65535
Unsupported Platform 65535
Downloaded BCT successfully
I guess the Nano tries to load some information from some EEPROM(s) and just sees a lot of 0xff
on the bus. Can you clarify which I2C EEPROMs TegraBoot expects and on which I2C busses it tries to gets the data?
We have an EEPROM on i2c1: i2c@7000c000
with address 0x50
. Can this be an issue?
The second case:
Enabled early print
[L4T TegraBoot] (version 00.00.2018.01-l4t-32cd7ad9)
Processing in recovery mode
A02 Bootrom Patch rev = 1023
Power-up reason: pmc por
Established communication link with host
NvTbootI2cClearBus(): error code 0x00045004 Invalid register value in bus clear status register
NvTbootI2cDeviceRead(): error code 0x00045004 I2c Open Failed
NvTbootI2c: Read failed for slave 0xac, offset 0x00 with error code 0x00045004
Odmdata from BCT: 0x00094000
DebugPort= 0x3
NvTbootI2cWaitForTransferComplete(): error code 0x00000005 I2C Transaction could not complete within time
NvTbootI2cWaitForTransferComplete(): error code 0x00000005 I2C Transaction could not complete within time
NvTbootI2cWrite(): error code 0x00000005 Error while starting write transaction
NvTbootI2cDeviceRead(): error code 0x00045001 Error while sending the offset to slave
NvTbootI2c: Read failed for slave 0xac, offset 0x00 with error code 0x00045001
Reading Board-Type unsuccessful
BoardId read from EEPROM/NCT: 0
Unsupported Platform 0
Downloaded BCT successfully
Here we see that some I2C communication fails and in turn it outputs 0 instead of 65535.
On the host side we see the same outputs in both cases:
[ 0.3713 ] Sending bootloader and pre-requisite binaries
[ 0.3725 ] tegrarcm --download ebt cboot.bin.encrypt 0 0 --download rp1 tegra210-<CUSTOM>-rev0.dtb.encrypt 0
[ 0.3736 ] Applet version 00.01.0000
[ 0.3755 ] Sending ebt
[ 0.4404 ]
Error: Return value 1
Command tegrarcm --download ebt cboot.bin.encrypt 0 0 --download rp1
tegra210-<CUSTOM>-rev0.dtb.encrypt 0
The full logs are attached: 20201203_flash-output.log (7.4 KB)
Can you please guide us some way to understand the issue?