Tegra NX PCIe Reference Clock Design

For anyone that needs to do this on their NX kits (or similar):

Vidyas patches are from a git repo we do not have access to. So what you need to do:

  • Pay attention to the #include directive in the patch. While I cannot find <mach-t194/clk-t194.h>, I can find the clock id - TEGRA194_CLK_PLLNVHS by just grepping through everything after doing source_sync.sh. Use the clock ID from there and mind that you use the same clock ID that is for the L4T version you are using. E.g. source_sync.sh -d <YOUR_L4T_VERSION>, then “find . -type f -exec grep TEGRA194_CLK_PLLNVHS {} ;”

Then you device-tree-decompile the relevant bpmp in your Linux_for_Tegra folder (where flash.sh resides. For example:

  • If you do sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1:

  • Then look at the jetson-xavier-nx-devkit-emmc.conf

  • cat jetson-xavier-nx-devkit-emmc.conf | grep source
    source ${LDK_DIR}/p3668.conf.common";

  • And if you look for bpmp in that file you will find the one you are flashing:

  • cat p3668.conf.common | grep -i bpmp
    BPFDTB_FILE=tegra194-a02-bpmp-p3668-a00.dtb;

  • Look for that file

  • find . -name tegra194-a02-bpmp-p3668-a00.dtb
    ./bootloader/t186ref/tegra194-a02-bpmp-p3668-a00.dtb
    ./bootloader/tegra194-a02-bpmp-p3668-a00.dtb

  • Then decompile one of these

  • dtc -o test.dts ./bootloader/t186ref/tegra194-a02-bpmp-p3668-a00.dtb

  • In test.dts, locate the “clock” parent and insert the patch, using the correct (!) clock id

    clocks {
    clock@pllnvhs {
    clk-id = <0xf3>;
    pll_freq_table = <0x249f000 0x5f5e100 0x02 0x7d 0x18 0xffffffff 0xffffffff 0xffffffff 0xffffffff>;
    };

  • Compile back to dtb and copy these back
    dtc -o test.dtb test.dts
    cp test.dtb ./bootloader/t186ref/tegra194-a02-bpmp-p3668-a00.dtb
    cp test.dtb ./bootloader/tegra194-a02-bpmp-p3668-a00.dtb

  • Noting I needed sudo in front of one of these.

  • Then flash the entire kit.
    sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1

Note that we have verified the SSC off using oscilloscope.

2 Likes