I’m trying to get the new 4.4.38 kernel to run with the original U-Boot. (I don’t want to upgrade the U-Boot because the USB-OTG port is busted on my Jetson so I have no way of recovering if I botch the upgrade…)
The first issue was that the new kernel comes with a DTB file which has dual EMC-tables, whereas U-Boot expects to fill in only one table. This was easy enough to fix: Just remove the “use-ram-code” property and move the contents of emc-table@0 out into the memory-controller@7001b000 node, and then remove both emc-table@0 and emc-table@1. The new kernel still supports the single emc-table setup, so no problem there.
After this the kernel boots up fine, but I’m missing ethernet. This turns out to be because the USB device is not found. External USB units connected via a USB 2.0 hub work fine, so it seems to be a problem with superspeed units only?
The only message I can find in dmesg which seems relevant is this:
[ 5.908591] xhci-tegra 70090000.xusb: can’t get usb3-0 phy (-517)
Is there some change related to USB3 in the bootloader that I need to work around as well?
Complete dmesg is here: https://pastebin.com/DsHsLBwS