auvidea J120 dtb fails in u-boot with recent TX1 modues

Hoping Jurgen from auvidea sees this…

The auvidea_j120 device tree is causing u-boot to fail on recent TX1s with a build date of 12-07-2016 (as indicated by the sticker on the TX1’s heat sink).

We have been successfully using auvidea_j120.dtb with our J100’s and TX1 modules with a build date of 07-05-2016.

However, with recently purchased TX1s, and the auvidea dtb specified in extlinux.conf, u-boot fails with the output below. Seems there must be hardware differences in the newer ones.

Scanning mmc 0:1…
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
1014 bytes read in 150 ms (5.9 KiB/s)
p2371-2180 eMMC boot options
1: primary kernel
Enter choice: 1: primary kernel
Retrieving file: /boot/initrd
6902654 bytes read in 456 ms (14.4 MiB/s)
Retrieving file: /boot/Image
19414736 bytes read in 797 ms (23.2 MiB/s)
append: fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd tegraid= ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff2bf000 nvdumper_reserved=0xff23f000 core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 root=/dev/mmcblk0p1 rw rootwait pcie_aspm=off
Retrieving file: /boot/auvidea_j120.dtb
250594 bytes read in 564 ms (433.6 KiB/s)

Flattened Device Tree blob at 82000000

Booting using the fdt blob at 0x82000000
reserving fdt memory region: addr=80000000 size=20000
Using Device Tree in place at 0000000082000000, end 00000000820402e1
Can’t create DT prop nvidia,emc-training-mod-regs to copy
Can’t create DT prop compatible to copy
Can’t create DT node emc-table@204000 to copy
Can’t create DT prop reg to copy
ERROR: could not update sku property FDT_ERR_NOSPACE.
ERROR: board-specific fdt fixup failed: FDT_ERR_NOSPACE

  • must RESET the board to recover.

FDT creation failed! hanging…### ERROR ### Please RESET the board ###

Hi, can you please share the modules version, numbers of 699-82180-1000-xxx ?

auvidea_j120 is third-party carrier board, don’t know its detail schematic, but there is revision history in the last page of Jetson TX1 carrier board schematic, Auvidea can compare it with theirs.

Both units I am comparing have a build number of 699-82180-1000-400. The only difference is the date, the one with 07-05-2016 works with auvidea_j120.dtb but the one with 12-07-2016 does not. Both have identical software flashed and installed.

An older unit with a build number of 699-82180-1000-100 also works with auvidea_j120.dtb.

Experiencing the same or very similar issue with TX1 units with the same build number, with possible additional suffix “P”. Not Auvidea but our own motherboard design. Difference in DTB between Jetson and ours at this point is very tiny, only that usb-vbus1, reg 0xe, is set to “regulator-always-on”. Another unit with same build number but suffix N doesn’t present the issue. Unit ending “-100 N” also does not present issue.

My units that fail with this dtb are all “-400 N”. The "-100 N"s are ok.

I think this may be a case of us re-using some out-of-date code here. I just compared current and reference dtbs:

diff <(dtc -I dtb -O dts our.dtb) <(dtc -I dtb -O dts $HOME/ips/l4t-2.3.1-2017/64_TX1/Linux_for_Tegra_64_tx1/kernel/dtb/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb)

and this exceeded my sort of mental inventory of what should have been changed. “Rebasing” onto current L4T resolved. Will update if issue resurfaces.

I have the same error at boot after following the guide in the Auvidea site and using the provided .dtb file.
Is there any way to use the Auvidea .dtb file(or a modified version of it) without receiving this error?

Thank you in advance.

I also resolved this by updating to the L4T 24.2.1 kernel, and creating a custom device tree based on the devkit one, and including the SPI devices from the auvidea dtb (found by de-compiling it with dtc).

Would you be willing to share the changes made to the devkit dts file? I have decompiled the auvidea_j120.dtb file and diffed it with the devkit one but still a bit unsure about exactly what to add.