Does Flashing a TX2NX while connected to a carrier board set up the TX2 NX for that specific carrier board?

I have had little luck flashing a TX2 module in a Seeed A203 carrier and then placing that module in my own carrier boards (call them CarrierA and Carrier B). When I do this, the modules boot to the NVIDIA splash screen and then halt with errors., though they boot fine in the Seeed A203.

I have been able to flash those same modules while in a CarrierA board and they subsequently boot fine, but if I insert them into a CarrierB then it again results in errors on boot.

Does flashing a TX2NX while connected to a carrier board set up the TX2 NX for that specific carrier board?

Thank you

Hi,

Some questions here

  1. Are you sure the software you installed are all the same? If it is same, then are you sure those same software can work fine on all these different boards?

  2. Are you sure all the hardware of the carrier boards are fine?

A bit of information you might find of interest…

The module itself more or less does not need different software for different carrier boards. However, many pins can have one of many different uses depending on how they are configured. This configuration of lane routing and many setup items related to the wiring of the carrier board is done via the device tree. Different vendors of different carrier boards will use the exact same software as the dev kit flash software only if they have the same list of devices and the same lane routing. When a third party carrier board provides its own board support package it is mostly a near-copy of the dev kit software, except that device tree changes are made for their carrier board. Maybe they also add a new device not present, and that might have a driver added, but the device tree is the very likely edit needed for different carrier boards.

Incidentally, if the module can go into recovery mode and have the correct USB device mode port available for flash, then a module probably won’t care what board it is on versus what device tree it gets. Once the flash completes though the Jetson will auto-reboot, and during reboot it probably won’t be entirely functional on that carrier board since the tree is mismatched when flashing for a different carrier board. However, it is likely that you could then transfer the module to the correct carrier board and it would probably work.

2 Likes

Hi WayneWWW
To answer your questions…
1)The software installed on the on the TX2 NX modules is the base Jetpack 4.6.2 for TX2 targets. I am not sure the software can work on all the different boards. That is my question I suppose. When the Jetpack 4.6.2 is flashed on a device, is it somehow customized for the hardware it is installed on? The reason I ask is the above error , “limx219_board_setup: error…” is referencing something that I do not have on my own carrier. So it seems to be something that was setup for the SEEED A203 when it was flashed from there, and then will cause an error in my carrier. Could this be possible? If I reflash that module in my own carrier, it seems to boot fine but then I can not place it in the newer version of my carrier, ( almost identical to the 1st save for the addition of an SD card interface), without another boot error of a different type.

  1. Both of my carrier versions work with a jetson Nano module (different image than the TX2 NX) and the hardware has been functioning correctly. I will add that I am confident that all my nanos work with all of my version 1 carriers, but only some nanos will work, ie boot, with some version 2 carriers, as though they seem to need to be ‘matched’ to a specific board. All nanos have the same image. I am not sure if this is related to the above problem, or something different.

Hi,

When the Jetpack 4.6.2 is flashed on a device, is it somehow customized for the hardware it is installed on?

Of course not.

The reason I ask is the above error , “limx219_board_setup: error…” is referencing something that I do not have on my own carrier. S

This error does not matter. If you don’t have some hardware on the board, then it of course will print some logs.

Thanks for this. I suspected that this might be the issue. Our issue seems to be the reverse of what you describe in your 2nd paragraph, in that once flashed on a specific carrier (Seeed a203) it proceeds to boot to the desktop. Then placing the module in our own carrier results in boot errors. Flashing from our own carrier will result in a successful boot to the desktop, but then we get a failed boot if we move the module to a different version of our carrier, even though this version is identical to the 1st, save for an SD card interface.

Interestingly, if we take a module that is flashed on our original carrier, it will boot up when placed in the A203. However, the reverse of this does not provide a successful boot.

If we are using the same base image, Jetpack 4.6.2, would the device tree be identical? I assume it must be and that it is not somehow configured during the flash process.

I think you don’t need to tell any “symptom” at this moment. Just try to dump the boot up log on NG board.
Honestly, a common issue is most users who don’t dump UART log don’t even know how to tell a board is booting up or not because you don’t have other interfaces but only your screen to tell.

Not sure if your carrier board has the pin out. Attached the method for devkit to output log.

And some points to let you know while you are dumping log

  1. When the carrier board is changed, it will always have chance that you need to change the device tree too.

  2. If you are not the board vendor who made the carrier board, then it is not your responsibility to change the device tree by yourself. It is also unlikely for you to do that because it requires carrier board hardware schematic.

  3. Officially we don’t support TX2-NX on Nano devkit but only NX devkit. So we are not sure if your carrier board would work either.

The carrier board you flash from won’t have any effect on what is flashed since the module is what gets flashed. The carrier board itself does not care about what is flashed and won’t be modified by this. As @WayneWWW mentioned, a missing device is because the software is present to be able to use that device, but did not find it, and so this is not an error and won’t harm anything, but the issues you mention suggest the device tree is correct for one carrier board and not for the other. If they are the same model, but different revision, then something may have changed with revision; if they are different models, then you need to flash it with the other carrier board’s device tree. A full serial console boot log might reveal what specific part of the device tree is failing or incorrect, and might even show a fully booted system (other than lack of GUI).

Is the different carrier board version a completely different model, or is it an altered layout of the same carrier board? I would expect that flash on any carrier board will allow boot on the intended carrier. I would also expect there to be one or more parts of the hardware failing to function if you place the module on any carrier board which is not an identical electrical layout to the one intended in the device tree.

The device tree from JetPack 4.6.2 would be identical to the one the dev kit carrier board uses. If you are flashing on the Seeed board, and then moving the module to either a dev kit carrier board, or a carrier board which is identical in layout, then I would expect this to work.

WayneWWW,

I have captured a lot of logs from 9 different modules of various types. There has been little consistency in terms of modules (nano or tx2 NX working with our two carriers) Simply put, some work, some do not. In order to try to simplify this I am attaching a log of one TX2 NX modules failing to boot completely on our newest carrier. At a point, the boot procedure just stops, as can be seen in the file. Can you see shed any light on our issue from this file? I also have a log of a Nano module successfully booting up without any issue on this exact same circuit board. I can share that too if it helps.

On a related not, I have three other TX2NX modules that, when placed in this same board, will not send any UART data at all. The Power_En line is high in these modules, and the Sys-Reset* has gone high which turns on the 3.3V and 1.8V rails of our carrier. Is there some event or state that I can check that happens between Sys_Reset* going high and the expected appearance of UART data out of the module?
2-11_TX2NX_02_bootlog_Nov21.txt (22.2 KB)

[0000.184] I> Welcome to MB2(TBoot-BPMP)(version: 01.00.160913-t186-M-00.00-mobile-e75fdd51)
[0000.193] I> Boot-device: eMMC
[0000.200] I> sdmmc bdev is already initialized
[0000.205] I> pmic: reset reason (nverc) : 0x80
[0000.238] I> Found 19 partitions in SDMMC_BOOT (instance 3)
[0000.258] I> Found 33 partitions in SDMMC_USER (instance 3)
[0000.264] W> No valid slot number is found in scratch register
[0000.269] W> Return default slot: _a
[0000.273] I> A/B: bin_type (16) slot 0
[0000.276] I> Loading partition bpmp-fw at 0xd7800000
[0000.281] I> Reading two headers - addr:0xd7800000 blocks:1
[0000.287] I> Addr: 0xd7800000, start-block: 29417480, num_blocks: 1
[0000.313] I> Binary(16) of size 534416 is loaded @ 0xd7800000
[0000.319] W> No valid slot number is found in scratch register
[0000.324] W> Return default slot: _a
[0000.328] I> A/B: bin_type (17) slot 0
[0000.331] I> Loading partition bpmp-fw-dtb at 0xd79f0000
[0000.337] I> Reading two headers - addr:0xd79f0000 blocks:1
[0000.342] I> Addr: 0xd79f0000, start-block: 29419896, num_blocks: 1
[0000.362] I> Binary(17) of size 113248 is loaded @ 0xd79e4400
[0000.390] I> Loading SCE-FW …
[0000.393] W> No valid slot number is found in scratch register
[0000.399] W> Return default slot: _a
[0000.402] I> A/B: bin_type (12) slot 0
[0000.406] I> Loading partition sce-fw at 0xd7300000
[0000.410] I> Reading two headers - addr:0xd7300000 blocks:1
[0000.416] I> Addr: 0xd7300000, start-block: 29423992, num_blocks: 1
[0000.436] I> Binary(12) of size 125632 is loaded @ 0xd7300000
[0000.441] I> Init SCE
[0000.444] I> Loading APE-FW …
[0000.447] W> No valid slot number is found in scratch register
[0000.452] W> Return default slot: _a
[0000.456] I> A/B: bin_type (11) slot 0
[0000.459] I> Loading partition adsp-fw at 0xd7400000
[0000.464] I> Reading two headers - addr:0xd7400000 blocks:1
[0000.470] I> Addr: 0xd7400000, start-block: 29401096, num_blocks: 1
[0000.489] I> Binary(11) of size 77216 is loaded @ 0xd7400000
[0000.495] I> Copy BTCM section
[0000.498] W> No valid slot number is found in scratch register
[0000.504] W> Return default slot: _a
[0000.507] I> A/B: bin_type (13) slot 0
[0000.511] I> Loading partition cpu-bootloader at 0x96000000
[0000.516] I> Reading two headers - addr:0x96000000 blocks:1
[0000.522] I> Addr: 0x96000000, start-block: 29380616, num_blocks: 1
[0000.544] I> Binary(13) of size 309152 is loaded @ 0x96000000
[0000.550] W> No valid slot number is found in scratch register
[0000.555] W> Return default slot: _a
[0000.559] I> A/B: bin_type (20) slot 0
[0000.562] I> Loading partition bootloader-dtb at 0x85205400
[0000.568] I> Reading two headers - addr:0x85205400 blocks:1
[0000.573] I> Addr: 0x85205400, start-block: 29382664, num_blocks: 1
[0000.594] I> Binary(20) of size 192320 is loaded @ 0x85205400
[0000.599] W> No valid slot number is found in scratch register
[0000.605] W> Return default slot: _a
[0000.608] I> A/B: bin_type (14) slot 0
[0000.612] I> Loading partition secure-os at 0x85305600
[0000.617] I> Reading two headers - addr:0x85305600 blocks:1
[0000.623] I> Addr: 0x85305600, start-block: 29384712, num_blocks: 1
[0000.646] I> Binary(14) of size 402864 is loaded @ 0x85305600
[0000.653] I> TOS boot-params @ 0x85000000
[0000.657] I> TOS params prepared
[0000.660] I> Loading EKS …
[0000.663] I> A/B: bin_type (15) slot 0
[0000.667] I> Loading partition eks at 0x85905800
[0000.671] I> Reading two headers - addr:0x85905800 blocks:1
[0000.677] I> Addr: 0x85905800, start-block: 29397000, num_blocks: 1
[0000.696] I> Binary(15) of size 1040 is loaded @ 0x85905800
[0000.701] I> EKB detected (length: 0x400) @ 0x85905800
[0000.707] I> Copied encrypted keys
[0000.710] I> boot profiler @ 0x175844000
[0000.714] I> boot profiler for TOS @ 0x175844000
[0000.719] I> Unhalting SCE
[0000.721] I> Primary Memory Start:80000000 Size:70000000
[0000.727] I> Extended Memory Start:f0110000 Size:856f0000
[0000.733] I> MB2(TBoot-BPMP) done

NOTICE: BL31: v1.3(release):b5eeb33
NOTICE: BL31: Built : 02:21:00, Apr 17 2022
ipc-unittest-main: 1519: Welcome to IPC unittest!!!
ipc-unittest-main: 1531: waiting forever
ipc-unittest-srv: 329: Init unittest services!!!
hwkey-agent: 41: hwkey-agent is running!!
hwkey-agent: 347: key_mgnt_processing …
hwkey-agent: 255: Setting EKB key 0 to slot 14
hwkey-agent: 178: Init hweky-agent services!!
luks-srv: 40: luks-srv is running!!
luks-srv: 157: Init luks-srv IPC services!!
platform_bootstrap_epilog: trusty bootstrap complete
[0000.955] I> Welcome to Cboot
[0000.958] I> Cboot Version: t186-acf1ddbd
[0000.962] I> CPU-BL Params @ 0x175800000
[0000.965] I> 0) Base:0x00000000 Size:0x00000000
[0000.970] I> 1) Base:0x177f00000 Size:0x00100000
[0000.974] I> 2) Base:0x177e00000 Size:0x00100000
[0000.979] I> 3) Base:0x177d00000 Size:0x00100000
[0000.983] I> 4) Base:0x177c00000 Size:0x00100000
[0000.988] I> 5) Base:0x177b00000 Size:0x00100000
[0000.992] I> 6) Base:0x177800000 Size:0x00200000
[0000.997] I> 7) Base:0x177400000 Size:0x00400000
[0001.002] I> 8) Base:0x177a00000 Size:0x00100000
[0001.006] I> 9) Base:0x177300000 Size:0x00100000
[0001.011] I> 10) Base:0x176800000 Size:0x00800000
[0001.015] I> 11) Base:0x30000000 Size:0x00040000
[0001.020] I> 12) Base:0xf0000000 Size:0x00100000
[0001.024] I> 13) Base:0x30040000 Size:0x00001000
[0001.028] I> 14) Base:0x30048000 Size:0x00001000
[0001.033] I> 15) Base:0x30049000 Size:0x00001000
[0001.037] I> 16) Base:0x3004a000 Size:0x00001000
[0001.042] I> 17) Base:0x3004b000 Size:0x00001000
[0001.046] I> 18) Base:0x3004c000 Size:0x00001000
[0001.051] I> 19) Base:0x3004d000 Size:0x00001000
[0001.055] I> 20) Base:0x3004e000 Size:0x00001000
[0001.059] I> 21) Base:0x3004f000 Size:0x00001000
[0001.064] I> 22) Base:0x00000000 Size:0x00000000
[0001.068] I> 23) Base:0xf0100000 Size:0x00010000
[0001.073] I> 24) Base:0x00000000 Size:0x00000000
[0001.077] I> 25) Base:0x00000000 Size:0x00000000
[0001.082] I> 26) Base:0x00000000 Size:0x00000000
[0001.086] I> 27) Base:0x00000000 Size:0x00000000
[0001.090] I> 28) Base:0x84400000 Size:0x00400000
[0001.095] I> 29) Base:0x30000000 Size:0x00010000
[0001.099] I> 30) Base:0x178000000 Size:0x08000000
[0001.104] I> 31) Base:0x00000000 Size:0x00000000
[0001.108] I> 32) Base:0x176000000 Size:0x00600000
[0001.113] I> 33) Base:0x80000000 Size:0x70000000
[0001.117] I> 34) Base:0xf0110000 Size:0x856f0000
[0001.122] I> 35) Base:0x00000000 Size:0x00000000
[0001.126] I> 36) Base:0x00000000 Size:0x00000000
[0001.130] I> 37) Base:0x1772e0000 Size:0x00020000
[0001.135] I> 38) Base:0x84000000 Size:0x00400000
[0001.139] I> 39) Base:0x96000000 Size:0x02000000
[0001.144] I> 40) Base:0x85000000 Size:0x01200000
[0001.148] I> 41) Base:0x175800000 Size:0x00500000
[0001.153] I> 42) Base:0x00000000 Size:0x00000000
[0001.157] I> 43) Base:0x00000000 Size:0x00000000
[0001.162] GIC-SPI Target CPU: 4

[0001.165] Interrupts Init done

[0001.168] calling constructors

[0001.171] initializing heap
[0001.174] initializing threads

[0001.177] initializing timers

[0001.180] creating bootstrap completion thread

[0001.185] top of bootstrap2()

[0001.188] CPU: ARM Cortex A57

[0001.192] CPU: MIDR: 0x411FD073, MPIDR: 0x80000100

[0001.197] initializing platform

[0001.200] I> Bl_dtb @0x85205400
[0001.203] I> gpio framework initialized
[0001.208] I> tegrabl_gpio_driver_register: register ‘nvidia,tegra186-gpio’ driver
[0001.217] I> tegrabl_gpio_driver_register: register ‘nvidia,tegra186-gpio-aon’ driver
[0001.224] I> GPIO framework and drivers are initialized.
[0001.230] I> Boot-device: eMMC
[0001.241] I> sdmmc bdev is already initialized
[0001.271] I> Found 19 partitions in SDMMC_BOOT (instance 3)
[0001.289] I> Found 33 partitions in SDMMC_USER (instance 3)
[0001.295] W> opt-in fuse is not set, skip fuse_burning
[0001.300] I> Reserved memory at 0xfbe00000 for U-Boot relocation
[0001.305] W> No valid slot number is found in scratch register
[0001.311] W> Return default slot: _a
[0001.322] I> A/B: bin_type (21) slot 0
[0001.325] I> Loading kernel-dtb from partition
[0001.330] I> Loading partition kernel-dtb at 0x80000000 from device(0x1)
[0001.351] I> Kernel_dtb @0x80000000
[0001.354] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0001.362] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539
[0001.372] W> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539
[0001.380] W> tegrabl_tca9539_init: failed to fetch phandle from dt
[0001.386] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xe8
[0001.394] W> fetch_driver_phandle_from_dt: failed to get node with compatible ti,tca9539
[0001.404] W> fetch_driver_phandle_from_dt: failed to get node with compatible nxp,tca9539
[0001.412] W> tegrabl_tca9539_init: failed to fetch phandle from dt
[0001.419] I> fixed regulator driver initialized
[0001.442] I> register ‘maxim’ power off handle
[0001.447] I> virtual i2c enabled
[0001.450] I> registered ‘maxim,max77620’ pmic
[0001.454] I> tegrabl_gpio_driver_register: register ‘max77620-gpio’ driver
[0001.464] E> failed to read label property for node 149928: 13
[0001.471] E> failed to read reg property for node 150024: 13
[0001.478] E> failed to read reg property for node 150076: 13
[0001.484] E> failed to read label property for node 150160: 13
[0001.491] E> failed to read reg property for node 150228: 13
[0001.498] E> failed to read reg property for node 150300: 13
[0001.505] I> Find /i2c@c250000’s alias i2c7
[0001.509] I> Reading eeprom i2c=7 address=0x50
[0001.539] I> Device at /i2c@c250000:0x50
[0001.542] I> Reading eeprom i2c=7 address=0x57
[0001.547] E> I2C: slave not found in slaves.
[0001.551] E> I2C: Could not write 0 bytes to slave: 0x00ae with repeat start true.
[0001.559] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.565] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xae at 0x00000000 via instance 7.
[0001.574] E> eeprom: Failed to read I2C slave device
[0001.579] I> Eeprom read failed 0x3526070d
[0001.583] I> Find /i2c@3160000’s alias i2c0
[0001.587] I> Reading eeprom i2c=0 address=0x50
[0001.592] E> I2C: slave not found in slaves.
[0001.596] E> I2C: Could not write 0 bytes to slave: 0x00a0 with repeat start true.
[0001.604] E> I2C_DEV: Failed to send register address 0x00000000.
[0001.610] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xa0 at 0x00000000 via instance 0.
[0001.619] E> eeprom: Failed to read I2C slave device
[0001.624] I> Eeprom read failed 0x3526070d
[0001.629] I> Find /i2c@3180000’s alias i2c2
[0001.633] I> Reading eeprom i2c=2 address=0x54
[0001.637] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.642] C> GPIO driver for chip_id 0x2 could not be found
[0001.647] E> cam_eeprom_read: Can’t get gpio driver
[0001.652] I> Eeprom read failed 0x4d4d000d
[0001.656] I> Reading eeprom i2c=2 address=0x57
[0001.660] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.665] C> GPIO driver for chip_id 0x2 could not be found
[0001.670] E> cam_eeprom_read: Can’t get gpio driver
[0001.675] I> Eeprom read failed 0x4d4d000d
[0001.679] I> create_pm_ids: id: 3636-0001-300-H, len: 15
[0001.684] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00, len: 93
[0001.707] I> regulator ‘vdd-hdmi-5v0’ already enabled
[0001.718] I> regulator ‘vdd-hdmi-5v0’ already enabled
[0001.723] I> hdmi cable connected
[0001.728] I> setting ‘vdd-pex-1v00’ regulator to 1000000 micro volts
[0001.736] I> setting ‘vdd-1v8’ regulator to 1800000 micro volts
[0001.742] I> retrieved tmds range from prod_list_hdmi_soc
[0001.748] E> cannot find any other nvdisp nodes
[0001.768] I> edid read success
[0001.783] I> edid read success
[0001.786] I> width = 640, height = 480, frequency = 25174825
[0001.791] I> width = 640, height = 480, frequency = 25174825
[0001.797] I> width = 640, height = 480, frequency = 25174825
[0001.802] I> width = 640, height = 480, frequency = 25174825
[0001.807] I> width = 1920, height = 1080, frequency = 148500000
[0001.813] I> width = 1366, height = 768, frequency = 85500000
[0001.819] I> width = 1920, height = 540, frequency = 74250000
[0001.824] I> width = 1920, height = 1080, frequency = 148351648
[0001.830] I> width = 1280, height = 720, frequency = 74175824
[0001.836] I> width = 720, height = 480, frequency = 26973026
[0001.841] I> width = 1920, height = 1080, frequency = 74175824
[0001.847] I> width = 1920, height = 1080, frequency = 74175824
[0001.852] I> Best mode Width = 1920, Height = 1080, freq = 148351648
[0001.861] I> hdmi_enable, starting HDMI initialisation
[0001.869] I> hdmi_enable, HDMI initialisation complete
[0001.882] initializing target

[0001.885] calling apps_init()

[0001.888] starting app kernel_boot_app

[0001.911] I> found decompressor handler: lz4-legacy
[0001.916] I> decompressing BMP blob …
[0001.928] I> Kernel type = Normal
[0001.931] I> ########## Fixed storage boot ##########
[0001.936] I> Loading kernel-bootctrl from partition
[0001.941] I> Loading partition kernel-bootctrl at 0xa8000000 from device(0x1)
[0001.958] W> tegrabl_get_kernel_bootctrl: magic number(0x00000000) is invalid
[0001.965] W> tegrabl_get_kernel_bootctrl: use default dummy boot control data
[0001.972] W> No valid slot number is found in scratch register
[0001.977] W> Return default slot: _a
[0001.981] I> A/B: bin_type (24) slot 0
[0001.997] I> Boot image size read from image header: 9902d
[0002.002] I> Boot image load address: 0x80400000
[0002.007] I> Loading kernel from partition
[0002.011] I> Loading partition kernel at 0x80400000 from device(0x1)
[0003.309] I> Validate kernel …
[0003.312] I> T18x: Authenticate kernel (bin_type 24), max size 0x4000000
[0003.320] I> Decrypt the buffer … [0003.323] W> tegrabl_decrypt_block: fuse (0x0) is not burnt to do encryption (0x4); skip decryption.
[0003.332] I> done
[0003.334] I> Checking boot.img header magic … [0003.338] I> [OK]
[0003.340] I> kernel-dtb is already loaded
[0003.343] I> Validate kernel-dtb …
[0003.347] I> T18x: Authenticate kernel-dtb (bin_type 21), max size 0x100000
[0003.354] I> Decrypt the buffer … [0003.357] W> tegrabl_decrypt_block: fuse (0x0) is not burnt to do encryption (0x4); skip decryption.
[0003.366] I> done
[0003.368] I> Kernel hdr @0x80400000
[0003.371] I> Kernel dtb @0x80000000
[0003.375] I> decompressor handler not found
[0003.379] I> Copying kernel image (626733 bytes) from 0x80400800 to 0x80600000 … [0003.386] I> Done
[0003.388] I> Move ramdisk (len: 0) from 0x8049a000 to 0x947d0000
[0003.395] I> Updated bpmp info to DTB
[0003.400] I> Ramdisk: Base: 0x947d0000; Size: 0x0
[0003.404] I> Updated initrd info to DTB
[0003.408] W> WARN: Fail to override “console=none” in commandline
[0003.414] I> Active rootfs suffix:
[0003.417] E> tegrabl_linuxboot_add_disp_param, du 1 failed to get display params
[0003.424] E> tegrabl_linuxboot_add_disp_param, du 1 failed to get display params
[0003.432] I> disabled_core_mask: 0xffffff0c
[0003.436] W> No valid slot number is found in scratch register
[0003.441] W> Return default slot: _a
[0003.445] I> Active slot suffix:
[0003.448] I> add_boot_slot_suffix: slot_suffix =
[0003.452] I> Linux Cmdline: console=ttyS0,115200 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2 video=tegrafb earlycon=uart8250,mmio32,0x3100000 nvdumper_reserved=0x1772e0000 gpt rootfs.slot_suffix= tegra_fbmem=0x800000@0x96085000 lut_mem=0x2008@0x96081000 usbcore.old_scheme_first=1 tegraid=18.1.2.0.0 maxcpus=6 no_console_suspend boot.slot_suffix= boot.ratchetvalues=0.2031647.1 vpr_resize bl_prof_dataptr=0x10000@0x175840000 sdhci_tegra.en_boot_part_access=1
[0003.499] I> Updated bootarg info to DTB
[0003.503] W> MAC addr invalid!
[0003.506] E> Failed to get WIFI MAC address
[0003.510] W> MAC addr invalid!
[0003.513] E> Failed to get Bluetooth MAC address
[0003.517] I> eeprom_get_mac_addr: MAC (type: 2): 48:b0:2d:3b:6c:8e
[0003.523] E> Found no plugin manager ids in source DT
[0003.528] W> Add plugin manager ids from board info
[0003.533] W> “plugin-manager” doesn’t exist, creating
[0003.538] W> “ids” doesn’t exist, creating
[0003.542] W> “connection” doesn’t exist, creating
[0003.546] W> “configs” doesn’t exist, creating
[0003.551] I> create_pm_ids: id: 3636-0001-300-H, len: 15
[0003.556] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00, len: 93
[0003.567] I> Adding plugin-manager/ids/3636-0001-300=/i2c@c250000:module@0x50
[0003.574] W> “i2c@c250000” doesn’t exist, creating
[0003.579] W> “module@0x50” doesn’t exist, creating
[0003.584] I> Adding plugin-manager/ids/3636-0001-300-H
[0003.590] I> Adding plugin-manager/configs/3636-mem-type 00
[0003.596] I> Adding plugin-manager/configs/3636-power-config 00
[0003.602] I> Adding plugin-manager/configs/3636-misc-config 00
[0003.608] I> Adding plugin-manager/configs/3636-modem-config 00
[0003.614] I> Adding plugin-manager/configs/3636-touch-config 00
[0003.619] I> Adding plugin-manager/configs/3636-display-config 00
[0003.626] I> Adding plugin-manager/cvm
[0003.629] W> “chip-id” doesn’t exist, creating
[0003.634] I> Adding plugin-manager/chip-id/A02P
[0003.638] W> “odm-data” doesn’t exist, creating
[0003.643] I> Adding /chosen/plugin-manager/odm-data
[0003.651] I> added [base:0x80000000, size:0x70000000] to /memory
[0003.657] I> added [base:0xf0200000, size:0x85600000] to /memory
[0003.662] I> added [base:0x175e00000, size:0x200000] to /memory
[0003.668] I> added [base:0x176600000, size:0x200000] to /memory
[0003.674] I> added [base:0x177000000, size:0x200000] to /memory
[0003.680] I> Updated memory info to DTB
[0003.684] E> add_disp_param: failed to get display params for du=1
[0003.691] W> “reset” doesn’t exist, creating
[0003.695] W> “pmc-reset-reason” doesn’t exist, creating
[0003.700] W> “pmic-reset-reason” doesn’t exist, creating
[0003.706] I> Adding ecid(000000016405d0c61000000012fb0240) to DT
[0003.712] I> disabled_core_mask: 0xffffff0c
[0003.721] I> Add serial number:1421921006588 as DT property
[0003.728] I> Plugin-manager override starting
[0003.733] I> node /plugin-manager/fragement@0 matches
[0003.741] I> node /plugin-manager/fragement@3 matches
[0003.754] I> Disable plugin-manager status in FDT
[0003.759] I> Plugin-manager override finished successfully
[0003.764] I> tegrabl_load_kernel_and_dtb: Done
[0003.809] I> Kernel EP: 0x80600000, DTB: 0x80000000

U-Boot 2020.04-g4335beb (Apr 17 2022 - 02:21:01 -0700)

SoC: tegra186
Model: NVIDIA P3636-0001
Board: NVIDIA P3636-0001
DRAM: 3.8 GiB
MMC: sdhci@3400000: 1, sdhci@3460000: 0
Loading Environment from MMC… *** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net:
Warning: ethernet@2490000 using MAC address from ROM
eth0: ethernet@2490000
Hit any key to stop autoboot: 2 1 0
Card did not respond to voltage select!
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1…
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
858 bytes read in 33 ms (25.4 KiB/s)
1: primary kernel
Retrieving file: /boot/initrd
7238366 bytes read in 205 ms (33.7 MiB/s)
Retrieving file: /boot/Image
34484232 bytes read in 830 ms (39.6 MiB/s)
append: console=ttyS0,115200 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2 video=tegrafb earlycon=uart8250,mmio32,0x3100000 nvdumper_reserved=0x1772e0000 gpt rootfs.slot_suffix= tegra_fbmem=0x800000@0x96085000 lut_mem=0x2008@0x96081000 usbcore.old_scheme_first=1 tegraid=18.1.2.0.0 maxcpus=6 no_console_suspend boot.slot_suffix= boot.ratchetvalues=0.2031647.1 vpr_resize bl_prof_dataptr=0x10000@0x175840000 sdhci_tegra.en_boot_part_access=1 quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2

Flattened Device Tree blob at 80000000

Booting using the fdt blob at 0x80000000
ERROR: reserving fdt memory region failed (addr=0 size=0)
ERROR: reserving fdt memory region failed (addr=0 size=0)
Using Device Tree in place at 0000000080000000, end 0000000080033ed4
copying carveout for /host1x@13e00000/display-hub@15200000/display@15200000…
copying carveout for /host1x@13e00000/display-hub@15200000/display@15210000…
copying carveout for /host1x@13e00000/display-hub@15200000/display@15220000…

Starting kernel …

[ 0.000000] Booting Linux on physical CPU 0x100
[ 0.000000] Linux version 4.9.253-tegra (buildbrain@mobile-u64-5374-d5000) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) ) #1 SMP PREEMPT Sun Apr 17 02:37:44 PDT 2022
[ 0.000000] Boot CPU: AArch64 Processor [411fd073]
[ 0.000000] OF: fdt:memory scan node memory@80000000, reg size 80,
[ 0.000000] OF: fdt: - 80000000 , 70000000
[ 0.000000] OF: fdt: - f0200000 , 85600000
[ 0.000000] OF: fdt: - 175e00000 , 200000
[ 0.000000] OF: fdt: - 176600000 , 200000
[ 0.000000] OF: fdt: - 177000000 , 200000
[ 0.000000] earlycon: uart8250 at MMIO32 0x0000000003100000 (options ‘’)
[ 0.000000] bootconsole [uart8250] enabled
[ 0.000000] Found tegra_fbmem: 00800000@96085000
[ 0.000000] Found lut_mem: 00002008@96081000
[ 1.397495] imx219 9-0010: imx219_board_setup: error during i2c read probe (-121)
[ 1.405126] imx219 9-0010: board setup failed
[ 1.433110] imx219 10-0010: imx219_board_setup: error during i2c read probe (-121)
[ 1.440790] imx219 10-0010: board setup failed
[ 1.573093] mmc0: error -110 whilst initialising MMC card
[ 1.707230] mmc0: error -110 whilst initialising MMC card
[ 1.841426] mmc0: error -110 whilst initialising MMC card
[ 2.019546] mmc0: error -110 whilst initialising MMC card
[ 3.443957] sd 0:0:0:0: [sda] No Caching mode page found
[ 3.449324] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 4.789234] usb usb1-port2: Cannot enable. Maybe the USB cable is bad?
[ 5.749262] usb usb1-port2: Cannot enable. Maybe the USB cable is bad?
[ 8.005262] usb usb1-port2: Cannot enable. Maybe the USB cable is bad?
[ 8.961243] usb usb1-port2: Cannot enable. Maybe the USB cable is bad?
[ 8.967853] usb usb1-port2: unable to enumerate USB device
[ 95.8⸮

Linuxdev,

Thanks for the info. I suppose I was envisioning the possibility that flashing the module could be similar to a Windows install on a computer, in that specific things get set up depending on the motherboard. I am glad to hear that this is not the case.

Our newest version of the carrier board is a slightly altered layout of the original. An SD card connector was added and this required moving and rearranging a 3.3V power supply circuit. The only other changes include some added resistors for other systems on the board. No other systems or components have been added aside from the SD card layout and its load switch. Currently the load switch chip is not populated.

Good to know. This should make it simpler for us to find the issues.

Thanks.

Hi,

Some suggestion here.

  1. Please do not paste the full log. Unless you want other people just spending most of time scrolling their mouse

  2. Is the module which you just dumped the attached log able to work on other carrier board?

  3. Is there any method that can make the same module work on your newest carrier board?

Hi Wayne

I was not sure about what to post that would be of most interest in that log.

Yes. It boots up on the previous version of our carrier board (ver1) with no apparent issues. I can also get some Nano modules, but not all of them, to boot to the desktop login on that same ver2 carrier board that was used to capture this log.

It does not seem so. I have 4 tx2 NX modules. Placing all of them in the same ver2 carrier board I find that only one of them will begin transmitting UART data before apparently looking up prior to reaching the desktop login. Two others have no UART data but Sys_Reset* is high so I assume that means the module has found stable power and driven it high. For the last module it seems the same board can not drive the POWER_EN line high for some unknown reason.

I just want to mention that again.There is no need to tell anything about jetson nano is working on your board or not. It is more like a noise to me but not some helpful info.

Back to what you said, I feel this is issue is a hardware problem on your latest carrier bard.
Could you do below and share me 2 logs.

  1. Put the module to good carrier board. Check if you can boot up. If it can, go to /boot/extlinux/extlinux.conf and remove “quiet”. Dump the full log again.

  2. Directly put the module from good carrier to NG board. Boot up and dump the full log again.

Wayne,

Here are the logs.
Ver 1Carrier… booted to the desktop, Ver2Carrier stopped before that point.

Ver1Carrier_6_TX2NX_02_bootlog_Nov23,2022-NoQuiet.txt (83.2 KB)
Ver2Carrier_10_TX2NX_02_bootlog_Nov23,2022-NoQuiet.txt (76.5 KB)

Please let me know if you see anything causing a failure.

Looks like emmc is not able to get detect on carrier board 2. Please review your hardware design with the design guide document.

   3.775992] mmc0: mmc_decode_ext_csd: CMDQ supported: depth: 31, cmdq_support: 1
[    3.794811] mmc0: power class selection to bus width 8 ddr 68 failed
[    3.794903] mmc0: error -110 whilst initialising MMC card
[    3.821048] usb 1-2: new high-speed USB device number 2 using tegra-xusb
[    3.856470] usb 1-2: New USB device found, idVendor=0bda, idProduct=5411
[    3.856473] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.856475] usb 1-2: Product: 4-Port USB 2.0 Hub
[    3.856477] usb 1-2: Manufacturer: Generic
[    3.858230] hub 1-2:1.0: USB hub found
[    3.859240] hub 1-2:1.0: 4 ports detected
[    3.903330] mmc0: mmc_decode_ext_csd: CMDQ supported: depth: 31, cmdq_support: 1
[    3.922446] mmc0: power class selection to bus width 8 ddr 68 failed
[    3.922538] mmc0: error -110 whilst initialising MMC card
[    3.965868] usb 2-2: new SuperSpeed USB device number 2 using tegra-xusb
[    4.002405] usb 2-2: New USB device found, idVendor=0bda, idProduct=0411
[    4.002408] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.002410] usb 2-2: Product: 4-Port USB 3.0 Hub
[    4.002412] usb 2-2: Manufacturer: Generic
[    4.011214] hub 2-2:1.0: USB hub found
[    4.012737] hub 2-2:1.0: 4 ports detected
[    4.033023] mmc0: mmc_decode_ext_csd: CMDQ supported: depth: 31, cmdq_support: 1
[    4.049618] usb 1-2: USB disconnect, device number 2
[    4.053700] mmc0: power class selection to bus width 8 ddr 68 failed
[    4.053793] mmc0: error -110 whilst initialising MMC card
[    4.177044] usb 2-2: usb_suspend_both: status 0
[    4.177146] usb usb2: usb_suspend_both: status 0
[    4.194025] mmc0: mmc_decode_ext_csd: CMDQ supported: depth: 31, cmdq_support: 1
[    4.220249] mmc0: power class selection to bus width 8 ddr 68 failed
[    4.220341] mmc0: error -110 whilst initialising MMC card

Since the emmc is on the module, and not the carrier I am not sure how that error is related to the carrier?

I am no hardware guy so no comment on this.

But according to the test here, the only change is the carrier board. So there is no software to check here.
The kernel and device tree got loaded are same on both cases.

Example: Power rails to eMMC are not correct (in which case it might be a device tree issue). There is a lot which can go wrong with another carrier board. Using a dev kit carrier board or other carrier board known to use the same exact device tree is part of the process of elimination of causes.

1 Like