Hi:
Hardware: Orin NX 16GB on custom carrier board
Software: JetPack 5.1.5
We are experiencing an EMI issue on our custom Orin NX carrier board. The PCIe SSD is generating electromagnetic interference that affects the GNSS module on the aircraft where our device is installed. This interference prevents the aircraft from taking off.
We would like to enable Spread Spectrum Clocking (SSC) on the PCIe interface to see if it helps reduce the EMI.
Our questions:
-
Does Orin NX support SSC for PCIe? I couldn’t find explicit documentation confirming this.
-
How can I verify whether SSC is currently enabled or disabled? I’ve seen references to checking bit 12 of register 0x20041000 — is this correct for Orin NX?
-
If SSC is not enabled, what are the exact device tree modifications needed to enable it? I understand this likely involves modifying the BPMP device tree.
Any guidance would be greatly appreciated.
Thanks!
SSC are all enabled by default on every PCIe controller of Orin NX/Nano/AGX.
Hi,WayneWWW:
Thank you for your quick response.
We would like to verify the actual SSC status on our custom carrier board to ensure it is indeed active.
- Could you please provide the official command or method to check whether SSC is currently enabled for each PCIe controller?
- Is there a quick command or method to temporarily disable SSC for comparison testing?
Our goal is to quickly enable/disable SSC and measure the EMI difference on the GNSS module to determine whether SSC helps reduce the interference.
Any guidance would be greatly appreciated.
Thank you.
Please check the tuning guide of Orin AGX/NX/Nano. There are patches to disable SSC in the bpmp dtb.
Hi, WayneWWW:
Thank you for your quick response.
Can you provide a link to the tuning guide for Orin AGX/NX/Nano? I did not find any patches or instructions related to SSC in the JetPack guide
hardware document would be in the download center.
software document would be in the jetpack guide (because it could be changed version by version).
Hi,WayneWWW:
Thank you for your response.
I have successfully downloaded the patch “0002-disabling-the-spread-Spectrum.patch”.
However, I am unsure which DTB file I need to modify and replace after applying the patch. On my Orin NX 16GB custom carrier board (JetPack 5.1.5), I checked the /boot directory and found many DTB files. The relevant ones appear to be:
root@tegra-ubuntu:/boot# ls
dtb tegra194-p2888-0004-e3900-0000-respeaker-4-mic-array.dtbo tegra234-p3737-0000-p3701-0000-hdr40.dtbo
extlinux tegra194-p2888-0004-e3900-0000-respeaker-4-mic-lin-array.dtbo tegra234-p3737-0000-p3701-0000-m2ke.dtbo
Image tegra194-p2888-0008-p2822-0000.dtb tegra234-p3737-0000-p3701-0000-respeaker-4-mic-array.dtbo
Image.t19x tegra194-p2888-0008-p2822-0000.dtb.sig tegra234-p3737-0000-p3701-0000-respeaker-4-mic-lin-array.dtbo
Image.t19x.sig tegra194-p2888-0008-p2822-0000-maxn.dtb tegra234-p3737-audio-codec-rt5658-40pin.dtbo
initrd tegra194-p2888-0008-p2822-0000-overlay.dtbo tegra234-p3737-camera-dual-hawk-ar0234-e3653-overlay.dtbo
initrd.t19x tegra194-p3668-0000-p3509-0000.dtb tegra234-p3737-camera-dual-imx274-overlay.dtbo
initrd.t19x.sig tegra194-p3668-0000-p3509-0000.dtb.sig tegra234-p3737-camera-e3331-overlay.dtbo
kernel_tegra234-p3767-0000-p3768-0000-a0.dtb tegra194-p3668-0001-p3509-0000.dtb tegra234-p3737-camera-e3333-overlay.dtbo
kernel_tegra234-p3767-0001-p3768-0000-a0.dtb tegra194-p3668-0001-p3509-0000.dtb.sig tegra234-p3737-camera-hawk-owl-overlay.dtbo
kernel_tegra234-p3767-0004-p3768-0000-a0.dtb tegra194-p3668-all-p3509-0000-adafruit-sph0645lm4h.dtbo tegra234-p3737-camera-imx185-overlay.dtbo
tegra194-p2822-camera-dual-imx274-overlay.dtbo tegra194-p3668-all-p3509-0000-adafruit-uda1334a.dtbo tegra234-p3737-camera-imx390-overlay.dtbo
tegra194-p2822-camera-e2832-overlay.dtbo tegra194-p3668-all-p3509-0000-camera-imx219-dual.dtbo tegra234-p3737-overlay.dtbo
tegra194-p2822-camera-e3326-overlay.dtbo tegra194-p3668-all-p3509-0000-camera-imx477-dual.dtbo tegra234-p3740-camera-hawk-owl-overlay.dtbo
tegra194-p2822-camera-e3331-overlay.dtbo tegra194-p3668-all-p3509-0000-camera-imx477-imx219.dtbo tegra234-p3740-camera-p3785-overlay.dtbo
tegra194-p2822-camera-e3333-overlay.dtbo tegra194-p3668-all-p3509-0000.dtb tegra234-p3767-0000-p3509-a02-adafruit-sph0645lm4h.dtbo
tegra194-p2822-camera-eCAM130A_CUXVR-overlay.dtbo tegra194-p3668-all-p3509-0000.dtb.sig tegra234-p3767-0000-p3509-a02-adafruit-uda1334a.dtbo
tegra194-p2822-camera-imx185-overlay.dtbo tegra194-p3668-all-p3509-0000-fe-pi-audio.dtbo tegra234-p3767-0000-p3509-a02-csi.dtbo
tegra194-p2822-camera-imx390-overlay.dtbo tegra194-p3668-all-p3509-0000-hdr40.dtbo tegra234-p3767-0000-p3509-a02-fe-pi-audio.dtbo
tegra194-p2888-0001-p2822-0000-adafruit-sph0645lm4h.dtbo tegra194-p3668-all-p3509-0000-m2ke.dtbo tegra234-p3767-0000-p3509-a02-hdr40.dtbo
tegra194-p2888-0001-p2822-0000-adafruit-uda1334a.dtbo tegra194-p3668-all-p3509-0000-respeaker-4-mic-array.dtbo tegra234-p3767-0000-p3509-a02-m2ke.dtbo
tegra194-p2888-0001-p2822-0000-csi.dtbo tegra194-p3668-all-p3509-0000-respeaker-4-mic-lin-array.dtbo tegra234-p3767-0000-p3509-a02-respeaker-4-mic-array.dtbo
tegra194-p2888-0001-p2822-0000.dtb tegra194-p3668-p3509-overlay.dtbo tegra234-p3767-0000-p3509-a02-respeaker-4-mic-lin-array.dtbo
tegra194-p2888-0001-p2822-0000.dtb.sig tegra234-p3701-0000-as-p3767-0000-p3737-0000.dtb tegra234-p3767-0000-p3768-0000-a0.dtb
tegra194-p2888-0001-p2822-0000-fe-pi-audio.dtbo tegra234-p3701-0000-as-p3767-0001-p3737-0000.dtb tegra234-p3767-0000-p3768-0000-csi.dtbo
tegra194-p2888-0001-p2822-0000-hdr40.dtbo tegra234-p3701-0000-as-p3767-0003-p3737-0000.dtb tegra234-p3767-0000-super-p3768-0000-a0.dtb
tegra194-p2888-0001-p2822-0000-m2ke.dtbo tegra234-p3701-0000-as-p3767-0004-p3737-0000.dtb tegra234-p3767-0001-p3768-0000-a0.dtb
tegra194-p2888-0001-p2822-0000-maxn.dtb tegra234-p3701-0000-p3737-0000.dtb tegra234-p3767-0001-super-p3768-0000-a0.dtb
tegra194-p2888-0001-p2822-0000-maxn.dtb.sig tegra234-p3701-0000-p3737-0000-kexec.dtb tegra234-p3767-0003-p3768-0000-a0.dtb
tegra194-p2888-0001-p2822-0000-overlay.dtbo tegra234-p3701-0002-p3711-0000.dtb tegra234-p3767-0003-super-p3768-0000-a0.dtb
tegra194-p2888-0001-p2822-0000-respeaker-4-mic-array.dtbo tegra234-p3701-0002-p3740-0002-b01.dtb tegra234-p3767-0004-p3768-0000-a0.dtb
tegra194-p2888-0001-p2822-0000-respeaker-4-mic-lin-array.dtbo tegra234-p3701-0002-p3740-0002.dtb tegra234-p3767-0004-super-p3768-0000-a0.dtb
tegra194-p2888-0004-e3900-0000-adafruit-sph0645lm4h.dtbo tegra234-p3701-0004-p3737-0000.dtb tegra234-p3767-camera-imx219-dual.dtbo
tegra194-p2888-0004-e3900-0000-adafruit-uda1334a.dtbo tegra234-p3701-0005-p3737-0000.dtb tegra234-p3767-camera-imx477-dual.dtbo
tegra194-p2888-0004-e3900-0000-csi.dtbo tegra234-p3701-0008-p3737-0000.dtb tegra234-p3767-camera-imx477-imx219.dtbo
tegra194-p2888-0004-e3900-0000.dtb tegra234-p3701-0008-p3740-0002-c01.dtb tegra234-p3767-camera-p3768-imx219-dual.dtbo
tegra194-p2888-0004-e3900-0000.dtb.sig tegra234-p3701-overlay.dtbo tegra234-p3767-camera-p3768-imx477-dual-4lane.dtbo
tegra194-p2888-0004-e3900-0000-dual-imx274.dtbo tegra234-p3737-0000-p3701-0000-adafruit-sph0645lm4h.dtbo tegra234-p3767-camera-p3768-imx477-dual.dtbo
tegra194-p2888-0004-e3900-0000-fe-pi-audio.dtbo tegra234-p3737-0000-p3701-0000-adafruit-uda1334a.dtbo tegra234-p3767-camera-p3768-imx477-imx219.dtbo
tegra194-p2888-0004-e3900-0000-hdr40.dtbo tegra234-p3737-0000-p3701-0000-csi.dtbo tegra234-p3767-overlay.dtbo
tegra194-p2888-0004-e3900-0000-imx274.dtbo tegra234-p3737-0000-p3701-0000-fe-pi-audio.dtbo tegra234-p3768-overlay.dtbo
root@tegra-ubuntu:/boot# cd dtb/
root@tegra-ubuntu:/boot/dtb# ls
kernel_tegra234-p3767-0000-p3768-0000-a0.dtb
Which dtb file should I replace after adding the patch?
No, that file is bpmp dtb which is located on your host PC.
You need to use dtc tool to modify that one. Please check your flash log and it will tell you which bpmp dtb you are using for your board.
Hi,WayneWWW:
I see, I still need to reflash the entire system. This patch is on the bootloader. Can I just flash the bootloader?
no, this one needs to do full flash.
Hi, WayneWWW:
I couldn’t find the bpmp.dtb file under Linux_for_Tegra/bootloader.
root@yan-Legion-Y9000P-IRX9:/home/yan/nvidia/nvidia_sdk/JetPack_5.1.5_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/bootloader# find -name "*bpmp*.dtb"
./tegra234-bpmp-3767-0004-3509-a02.dtb
./tegra234-bpmp-3767-0000-a02-3509-a02.dtb
./7546/tegra234-bpmp-3767-0004-3509-a02.dtb
./7546/tegra234-bpmp-3767-0004-3509-a02_with_odm.dtb
./7546/tegra234-bpmp-3767-0000-a02-3509-a02.dtb
./7546/tegra234-bpmp-3767-0001-3509-a02.dtb
./tegra234-bpmp-3767-0001-3509-a02.dtb
./17009/tegra234-bpmp-3767-0004-3509-a02.dtb
./17009/tegra234-bpmp-3767-0004-3509-a02_with_odm.dtb
./17009/tegra234-bpmp-3767-0000-a02-3509-a02.dtb
./17009/tegra234-bpmp-3767-0004-3509-a02_with_odm_aligned_sigheader.dtb
./17009/tegra234-bpmp-3767-0001-3509-a02.dtb
./17009/tegra234-bpmp-3767-0004-3509-a02_with_odm_sigheader.dtb
./17009/tegra234-bpmp-3767-0004-3509-a02_with_odm_aligned.dtb
./t186ref/tegra234-bpmp-3701-0002-3740-0002-b01.dtb
./t186ref/tegra234-bpmp-3701-0008-3740-0002-c00.dtb
./t186ref/tegra234-bpmp-3767-0004-3509-a02.dtb
./t186ref/tegra234-bpmp-3701-0000-3737-0000-maxn.dtb
./t186ref/tegra234-bpmp-3701-0002-3711-0000.dtb
./t186ref/tegra234-bpmp-3767-0003-3768-super.dtb
./t186ref/tegra234-bpmp-3701-0005-3737-0000-maxn.dtb
./t186ref/tegra234-bpmp-3767-0000-a02-3509-a02.dtb
./t186ref/tegra194-a02-bpmp-p2888-0005-a04.dtb
./t186ref/tegra194-a02-bpmp-p2888-0004-a04-mccoy.dtb
./t186ref/tegra234-bpmp-3701-0004-3737-0000-maxn.dtb
./t186ref/tegra234-bpmp-3767-0000-3768-super.dtb
./t186ref/tegra234-bpmp-3767-0004-3768-super.dtb
./t186ref/tegra234-bpmp-3701-0005-as-3701-0004-3737-0000.dtb
./t186ref/tegra234-bpmp-3767-0000-a02-as-3767-0004-3509-a02.dtb
./t186ref/tegra194-a02-bpmp-p2888-0008-b01-jaxi-noecc.dtb
./t186ref/tegra234-bpmp-3767-0001-3509-a02.dtb
./t186ref/tegra234-bpmp-3701-0000-as-3767-0003-3737-0000.dtb
./t186ref/tegra234-bpmp-3767-0001-3509-a02-maxn.dtb
./t186ref/tegra194-a02-bpmp-p2888-a01.dtb
./t186ref/tegra234-bpmp-3767-0000-a02-as-3767-0001-3509-a02.dtb
./t186ref/tegra234-bpmp-3701-0000-as-3767-0001-3737-0000.dtb
./t186ref/tegra234-bpmp-3701-0005-3737-0000.dtb
./t186ref/tegra234-bpmp-3701-0000-as-3767-0004-3737-0000.dtb
./t186ref/tegra234-bpmp-3701-0008-3737-0000-maxn.dtb
./t186ref/tegra234-bpmp-3767-0001-3768-super.dtb
./t186ref/tegra234-bpmp-3767-0000-a02-3509-a02-maxn.dtb
./t186ref/tegra194-a02-bpmp-p2888-a04-maxn.dtb
./t186ref/tegra194-a02-bpmp-p2888-0005-a04-maxn.dtb
./t186ref/tegra234-bpmp-3701-0005-as-3767-0000-3737-0000.dtb
./t186ref/tegra194-a02-bpmp-p2888-a02.dtb
./t186ref/tegra194-a02-bpmp-p2888-a04.dtb
./t186ref/tegra234-bpmp-3767-0000-a02-as-3767-0003-3509-a02.dtb
./t186ref/tegra194-a02-bpmp-p2888-0008-b01-jaxi.dtb
./t186ref/tegra234-bpmp-3701-0008-3737-0000.dtb
./t186ref/tegra234-bpmp-3701-0000-as-3767-0000-3737-0000.dtb
./t186ref/tegra234-bpmp-3701-0002-3740-0002.dtb
./t186ref/tegra234-bpmp-3767-0001-3768-super-maxn.dtb
./t186ref/tegra234-bpmp-3701-0005-as-3767-0001-3737-0000.dtb
./t186ref/tegra234-bpmp-3701-0005-as-3767-0003-3737-0000.dtb
./t186ref/tegra194-a01-bpmp-p2888-a02.dtb
./t186ref/tegra234-bpmp-3767-0000-3768-super-maxn.dtb
./t186ref/tegra194-a02-bpmp-p2888-0008-b01-jaxi-maxn.dtb
./t186ref/tegra194-a02-bpmp-p3668-a00.dtb
./t186ref/tegra234-bpmp-3701-0000-3737-0000.dtb
./t186ref/tegra234-bpmp-3701-0004-3737-0000.dtb
./t186ref/tegra194-a01-bpmp-p2888-a01.dtb
./t186ref/tegra234-bpmp-3701-0000-as-3701-0004-3737-0000.dtb
./t186ref/tegra234-bpmp-3701-0005-as-3767-0004-3737-0000.dtb
./t186ref/tegra234-bpmp-3767-0003-3509-a02.dtb
./169616/tegra234-bpmp-3767-0004-3509-a02.dtb
./169616/tegra234-bpmp-3767-0000-a02-3509-a02.dtb
Query the dtb file related to the bpmp name under bootloader, which dtb file should be used to add patches to orin nx 16G?
As I already told, check your flash log. Your flash log will tell you the answer.
If you don’t know what I mean, post your flash log and I will tell you.