How to disable SMMU for pcie5?

I read the similar topics and went through the following steps:

  1. Download Linux_for_Tegra, kernel source and sample rootfs from this link

  2. I extracted rootfs to Linux_for_tegra/rootfs

  3. Removed this strings from tegra194-soc-pcie.dtsi
    iommus = <&smmu TEGRA_SID_PCIE5>;

  4. In arm-smmu-t19x.c
    reg = readl_relaxed(ARM_SMMU_GR0_NS(smmu) +

    /* Enable fault reporting /
    -reg |= (sCR0_GFRE | sCR0_GFIE | sCR0_GCFGFRE | sCR0_GCFGFIE |
    +reg |= (sCR0_GFRE | sCR0_GFIE | sCR0_GCFGFRE | sCR0_GCFGFIE);
    Disable Unidentified stream fault reporting */
    +reg &= ~(sCR0_USFCFG);

  5. ./ -o $HOME/Desktop/kernel_out/ and copy *.dtb *.dtbo and Image to Linux_for_Tegra dir

  6. sudo ./

  7. sudo ./ jetson-xavier-nx-devkit-emmc mmcblk0p1
    The script succseed and after rebooting jetson didnt start the system.
    So what am i doing wrong? I tryed to change /bootloader/t186ref/BCT/tegra194-memcfg-sw-override.cfg in Linux_for_Tegra as in the pcie smmu issue - #6 by vidyas but nothing changed.

The tip is for Xavier and may not work for Xavier NX. Is there a reason to disable SMMU? We don’t actually recommend do this.

There is the same tips for Xavier NX here How to disable IOMMU on Xavier NX? - #27 by WayneWWW

What kind of error did you see when it “stuck in boot”

Instead of ./ i compiled .dtb, image, modules. Next I moved Image and .dtb to Linux_for_Tegra/arch/arm64/kernel/ , installed modules and moved them to rootfs dir.
So after that flashing went well and the system starts with gui, but with default device tree and SMMU still there.
I think that Im doing smth wrong with Linux for Tegra or flashing process.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.