Oes Orin NX 16G support SSC (Spread Spectrum Clocking) and how to enable it?

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:

  1. Does Orin NX support SSC for PCIe? I couldn’t find explicit documentation confirming this.

  2. 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?

  3. 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.

  1. Could you please provide the official command or method to check whether SSC is currently enabled for each PCIe controller?
  2. 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.