jetson-customize-uphy

Generate atomic ODMDATA commits and kernel-DT overlays for Jetson UPHY lane allocation.

1|Updated Jun 12, 2026
One-click install
npx skills add https://github.com/JORDAN0615/bsp_factory --skill jetson-customize-uphy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jetson-customize-uphy
Source: https://github.com/JORDAN0615/bsp_factory/tree/main/skills/jetson-customize-uphy
Command: npx skills add https://github.com/JORDAN0615/bsp_factory --skill jetson-customize-uphy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Custom Jetson Orin and Thor carrier boards often suffer from boot failures, controller enumeration errors, or BL31 SError reboot loops caused by incorrect UPHY (unified PHY) lane allocation. Manually configuring UPHY settings requires cross-referencing multiple official NVIDIA documents, carrier schematics, and ensuring alignment between BPMP firmware and kernel device tree configurations, which is error-prone and time-consuming for BSP engineers.

Core Features & Use Cases

  • Runtime documentation discovery: Retrieves valid UPHY lane allocation options directly from official NVIDIA Adaptation Guides, Module Design Guides, and SoC Technical Reference Manuals at runtime, eliminating hard-coded, version-specific value risks.
  • Atomic, safe configuration generation: Produces a single atomic ODMDATA commit with correctly formatted UPHY and per-controller tokens, plus kernel-DT overlay fragments for PCIe, MGBE Ethernet, and USB controllers, with strict guardrails to avoid invalid token formatting that would brick boot.
  • Alignment and safety enforcement: Enforces mandatory user confirmation for lane selection, validates BPMP firmware vs kernel device tree state alignment, and tracks run state idempotently to avoid duplicate or conflicting changes.
  • Use Case: A BSP engineer working on a custom Jetson Thor carrier board can use this skill to map UPHY lanes to 10G Ethernet, PCIe, and USB 3.0 ports per the carrier schematic, generate the correct ODMDATA and overlay changes, and avoid common post-flash failures like FMON-triggered reboot loops.

Quick Start

Use the jetson-customize-uphy skill to configure UPHY lane allocation for your custom Jetson Orin or Thor carrier board by selecting the correct uphy0-config and uphy1-config tokens from the official Adaptation Guide and confirming your carrier's routed lane assignments.

Frequently Asked Questions about jetson-customize-uphy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix BL31 SError reboot loops on custom Jetson Orin carrier boards?

BL31 SError reboot loops on custom Jetson Orin carrier boards are typically caused by incorrect UPHY lane allocation. You must correctly map UPHY lanes to PCIe, MGBE Ethernet, and USB controllers using official NVIDIA documentation and your carrier schematics.

How do I configure UPHY lane allocation for a custom Jetson Thor carrier board?

To configure UPHY lane allocation, select the correct uphy0-config and uphy1-config tokens from the official NVIDIA Adaptation Guide based on your carrier schematic. This generates an atomic ODMDATA commit and kernel-DT overlay fragments for per-controller setup.

Why does my Jetson controller enumeration fail after flashing a custom BSP?

Controller enumeration failures after flashing a custom BSP usually stem from BPMP firmware and kernel device tree misalignment. You must enforce strict alignment between BPMP firmware configurations and kernel device tree states to prevent these post-flash boot failures.

Do I need to cross-reference NVIDIA Adaptation Guides manually to set ODMDATA tokens?

Manual cross-referencing of NVIDIA Adaptation Guides, Module Design Guides, and SoC Technical Reference Manuals is error-prone. Runtime documentation discovery retrieves valid UPHY lane allocation options directly from official sources, eliminating hard-coded, version-specific value risks.

What's the best way to prevent invalid ODMDATA token formatting that bricks Jetson boot?

The safest way to prevent invalid ODMDATA token formatting is to generate a single atomic commit with strict guardrails. Enforcing mandatory user confirmation for lane selection validates tokens before applying changes, avoiding configuration errors that brick boot.

Can I use this to map UPHY lanes for both 10G Ethernet and PCIe on Jetson Thor?

Yes, you can map UPHY lanes to 10G Ethernet, PCIe, and USB 3.0 ports on Jetson Thor. The process validates lane assignments against your carrier schematic and generates the correct ODMDATA and kernel-DT overlay changes for all specified controllers.