jetson_clock.sh script should pull-up the emc rate.
could you please try increase the emc rate following below steps. and share your result to us.
thanks
The same happens with nvidia TX1 R28.1 factory image kernel (4.4.38-tegra) and the DTBs found either in /boot/dtb or /boot directory of the image, both being named tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb, but having sizes of 441816 vs 442001 bytes (dated Jul 28).
I have no idea what modifications we did last year. But the four TX1 from that time which do boot the newly created R28.1 kernel/userspace has this in the pre-boot log:
[0000.861] Starting CPU & Halting co-processor
64b[0000.968] RamCode = 0
[0000.983] LPDDR4 Training: Read DT: Number of tables = 10
[0000.988] EMC Training (SRC-freq: 204000; DST-freq: 40800)
[0000.993] EMC Training Skipped
[0000.996] EMC Training (SRC-freq: 204000; DST-freq: 68000)
[0001.001] EMC Training Skipped
[0001.004] EMC Training (SRC-freq: 204000; DST-freq: 102000)
[0001.009] EMC Training Skipped
[0001.012] EMC Training (SRC-freq: 204000; DST-freq: 204000)
[0001.018] EMC Training Skipped
[0001.020] EMC Training (SRC-freq: 204000; DST-freq: 408000)
[0001.026] EMC Training Successful
[0001.030] EMC Training (SRC-freq: 204000; DST-freq: 665600)
[0001.035] EMC Training Successful
[0001.038] EMC Training (SRC-freq: 204000; DST-freq: 800000)
[0001.050] EMC Training Successful
[0001.053] EMC Training (SRC-freq: 204000; DST-freq: 1065600)
[0001.075] EMC Training Successful
[0001.079] EMC Training (SRC-freq: 204000; DST-freq: 1331200)
[0001.100] EMC Training Successful
[0001.103] EMC Training (SRC-freq: 204000; DST-freq: 1600000)
[0001.123] EMC Training Successful
[0001.126] Switching to 800000 KHz Success
[0001.132] DT Write: emc-table@40800 succeeded
[0001.138] DT Write: emc-table@68000 succeeded
[0001.145] DT Write: emc-table@102000 succeeded
[0001.151] DT Write: emc-table@204000 succeeded
[0001.158] DT Write: emc-table@408000 succeeded
[0001.164] DT Write: emc-table@665600 succeeded
[0001.170] DT Write: emc-table@800000 succeeded
[0001.177] DT Write: emc-table@1065600 succeeded
[0001.183] DT Write: emc-table@1331200 succeeded
[0001.189] DT Write: emc-table@1600000 succeeded
[0001.194] LPDDR4 Training: Write DT: Number of tables = 10
Whereas a newly purchased TX1 SE (has 3.10 factory image) will not boot the exactly same SD card with the R28.1 installation:
[0000.849] Starting CPU & Halting co-processor
64b[0000.987] LPDDR4 Training: Number of tables = 10
[0000.991] EMC Training (SRC-freq: 204000; DST-freq: 408000)
[0000.997] EMC Training Successful
[0001.000] EMC Training (SRC-freq: 204000; DST-freq: 665600)
[0001.006] EMC Training Successful
[0001.009] EMC Training (SRC-freq: 204000; DST-freq: 800000)
[0001.021] EMC Training Successful
[0001.024] EMC Training (SRC-freq: 204000; DST-freq: 1065600)
[0001.046] EMC Training Successful
[0001.050] EMC Training (SRC-freq: 204000; DST-freq: 1331200)
[0001.071] EMC Training Successful
[0001.074] EMC Training (SRC-freq: 204000; DST-freq: 1600000)
[0001.094] EMC Training Successful
[0001.097] Switching to 800000 KHz Success
[0001.137] LPDDR4 Training: Number of tables = 10
Reason of not-booting:
Can't create DT prop nvidia,current_dram_clktree_c0d1u0 to copy
Can't create DT node emc-table@204000 to copy
ERROR: board-specific fdt fixup failed: FDT_ERR_NOTFOUND
- must RESET the board to recover.
FDT creation failed! hanging...### ERROR ### Please RESET the board ###
since we had verified that emc clock is adjustable with JetPack-3.1 on TX1.
please review your kernel modification and check whether there’s mistake.
thanks
I can confirm that the R28.1 installed through JetPack-3.1 can reach the highest EMC clock rates.
Now there is another bug/feature which was not there before. Our extlinux.conf specifies the KERNEL and FDT to pull our device tree from the SD card. When there is no FDT specified, the system boots up. When there is FDT specified, the system hangs in 2 to 4 seconds during the boot, with no apparent reason in the messages. The R28.1 Ubuntu has no FDT specified in its extlinux.conf.
What was changed and why it is no longer possible to use our own device tree? This makes the unit useless if we are forced to use only the hardcoded device tree. Please explain or forward me to the documentation.
Also what I miss, is the exact kernel config to build the factory kernel image. Pulling one from a running system seems to have various options enabled, but not the ones we would also like. And doing defconfig is not making it anything close to the factory configuration.