How to Enable USB SSC Function on Jetson Orin for USB Compliance Testing
Issue Overview
Users are experiencing difficulties enabling the USB Spread Spectrum Clocking (SSC) function directly from the System-on-Chip (SoC) on Jetson Orin devices, specifically for USB compliance testing purposes. This issue affects custom carrier boards designed for both Orin Nano and Orin NX models. The problem arises when attempting to conduct USB compliance tests, as the SSC function needs to be verified directly from the SoC rather than through a USB 3.2 hub.
Possible Causes
- Firmware configuration: The SSC function may not be enabled by default in the device’s firmware.
- Hardware limitations: The custom carrier board design might not properly expose or connect the necessary pins for SSC functionality.
- Software drivers: Incorrect or outdated USB drivers could prevent proper SSC operation.
- Test equipment setup: Improper configuration of the USB compliance test equipment might lead to difficulties in detecting the SSC signal.
- BIOS/UEFI settings: Certain BIOS or UEFI settings might interfere with the SSC function.
Troubleshooting Steps, Solutions & Fixes
-
Verify hardware compatibility:
- Ensure that your custom carrier board design properly connects the USB signals from the Orin SoC to the USB ports.
- Check the schematic and PCB layout to confirm that no required signals are missing or incorrectly routed.
-
Update firmware and drivers:
- Download and install the latest Jetson BSP (Board Support Package) for your Orin device from the NVIDIA Developer website.
- Update all relevant drivers, particularly those related to USB controllers.
-
Enable SSC in device tree:
- Modify the device tree to enable SSC functionality. Add or modify the following properties in the USB controller node:
nvidia,enable-ssc; nvidia,ssc-frequency-khz = <33000>;
- Recompile the device tree and flash it to your device.
- Modify the device tree to enable SSC functionality. Add or modify the following properties in the USB controller node:
-
Check BIOS/UEFI settings:
- If applicable, enter the BIOS/UEFI configuration and look for any USB-related settings.
- Enable any options related to USB 3.x support or SSC functionality.
-
Verify SSC signal using oscilloscope:
- Use an oscilloscope to directly measure the USB signal and verify the presence of SSC.
- Connect the oscilloscope probe to the appropriate USB data lines (D+ and D-) on your custom carrier board.
- Look for a characteristic spread spectrum pattern in the signal.
-
Use NVIDIA’s USB 3.2 Compliance Test guide:
- Refer to the topic "USB 3.2 Compliance Test, no SSC signal 17" in the NVIDIA Developer Forums for specific guidance on compliance testing.
- Follow the instructions provided in that thread, as it addresses similar issues with SSC signal detection.
-
Contact NVIDIA Support:
- If the issue persists after trying the above steps, reach out to NVIDIA’s developer support team for further assistance.
- Provide detailed information about your custom carrier board design, test setup, and the steps you’ve already taken to troubleshoot the problem.
-
Consider using a USB protocol analyzer:
- A USB protocol analyzer can help identify if the SSC function is active and provide detailed information about the USB signals.
- This tool can be particularly useful for debugging complex USB issues and ensuring compliance with USB specifications.
Remember that enabling and testing USB SSC functionality may require advanced knowledge of USB protocols and hardware design. If you’re not comfortable with these procedures, consider consulting with a hardware engineer or USB specialist familiar with Jetson Orin platforms and USB compliance testing.