Official agent skill

Jetson Customize Uphy

by NVIDIA in NVIDIA/skills

Configure Jetson UPHY lane allocation (uphy0/uphy1-config) on Orin/Thor custom carriers.

OfficialApache-2.0Auto-check passedAI & LLM Engineering

Install Jetson Customize Uphy

skills CLI
$ npx skills add NVIDIA/skills --skill jetson-customize-uphy -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install NVIDIA/skills jetson-customize-uphy --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/NVIDIA/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jetson-customize-uphy .claude/skills/jetson-customize-uphy && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jetson-customize-uphy
GitHub stars
3.5k
Token cost
~2.4k tokens
SKILL.md length
1,064 words
Files
8 (incl. references)
Skills in repo
380
Repo updated
First seen
Licence
Apache-2.0

At a glance

Configure Jetson UPHY lane allocation (uphy0/uphy1-config) on Orin/Thor custom carriers.

  • Works in 8 steps: Resolve target + docs. Refuse without… → Locate "Configure the UPHY Lane" in the… → Cross-reference the carrier schematic.… → …
  • PCIe-only edits
  • SKILL.md covers Purpose, Prerequisites, Overview and When to invoke, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Jetson Customize Uphy is an agent skill from NVIDIA/skills, published by the product's own GitHub organization. Configure Jetson UPHY lane allocation (uphy0/uphy1-config) on Orin/Thor custom carriers. Do NOT use for pinmux or PCIe-only edits.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `BENCHMARK.md`, `evals/evals.json` and `references/gotchas.md`).

It sits in AI & LLM Engineering, covering GPU and accelerator computing. It works with NVIDIA AI Platform. The repository describes itself as: Agent Skills for NVIDIA products — install into Claude Code, Codex, and other coding agents to run Physical AI, robotics, simulation, CUDA, and RAG workflows end to end. The licence is Apache-2.0.

When your agent uses it

  • PCIe-only edits
  • Tasks that involve GPU and accelerator computing

Example prompts

  • “/jetson-customize-uphy”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Resolve target + docs. Refuse without active profile, custom
  2. Locate "Configure the UPHY Lane" in the Adaptation Guide (PDF /
  3. Cross-reference the carrier schematic. Cite UPHY net names
  4. Enumerate matching UPHY options. Surface every documented
  5. Ask the user which config (HARD GATE). Print tables first, then
  6. Edit carrier flash-conf fork (atomic ODMDATA commit). This skill
  7. Build the per-controller allocation table and dispatch. Derive
  8. Summary + next-step chain. Headline, breakdown, choices table

What it can do on your machine

Read from SKILL.md and the folder at commit 67a13c0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jetson Customize Uphy loads about 2.4k tokens when it runs, and up to ~7.7k if it reads all its reference files. Until then it costs about 38 tokens; SKILL.md has 1,064 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from NVIDIA/skills at commit 67a13c0, republished under its Apache-2.0 licence (© NVIDIA). 1,064 words, ~2,361 tokens.

Download SKILL.mdSave it as .claude/skills/jetson-customize-uphy/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
jetson-customize-uphy
description
Configure Jetson UPHY lane allocation (uphy0/uphy1-config) on Orin/Thor custom carriers. Do NOT use for pinmux or PCIe-only edits.
version
0.0.2
license
Apache-2.0
metadata.data-classification
public
metadata.author
Jetson Team
metadata.tags
bsp, phase-2, io, uphy
metadata.domain
meta

Customize UPHY lane allocation

Purpose

Select a UPHY lane allocation on a Jetson custom carrier and edit the carrier flash-conf fork's ODMDATA="..." to apply the chosen uphyX-config-N token(s) (plus the UPHY_CONFIG="" clear required for uphy0-config-6). Kernel-DT alignment per controller is not done here — after the ODMDATA commit lands, this skill dispatches to the per-controller skills (/jetson-customize-pcie, /jetson-customize-mgbe, /jetson-customize-usb), each of which must compare the chosen allocation against the reference kernel DTB node-by-node and emit an overlay fragment only when the K-stock value disagrees with the chosen allocation. Discovery is agentic: options, lanes, and controllers come from the Adaptation Guide, carrier schematic, and Module / SoC TRM at run time — never hard-coded. Every user-visible step renders its data as a markdown table, and the final summary includes a changes-summary table.

Prerequisites

  • Active target-platform profile with reference_devkit: and custom_carrier:.
  • <source.root_path>/Linux_for_Tegra/.git initialized (/jetson-init-source).
  • Forked carrier conf present (/jetson-derive-carrier).
  • Reachable Adaptation Guide via documents.adaptation_guide -> documents.bsp_developer_guide -> web fetch -> Step-1 prompt fallback.
  • When custom_carrier: is present, both documents.custom_carrier_schematic AND documents.custom_carrier_pinmux_xls are REQUIRED. The skill refuses to run if either is missing — routing decisions for the custom carrier cannot be guessed. Reference-devkit-only profiles (no custom_carrier: block) do not require these.

Overview

UPHY (unified PHY) is the shared high-speed PHY pool on Tegra264 (Thor) and Tegra234 (Orin). Lane allocation is selected by ODMDATA tokens (uphy0-config-N, Thor also uphy1-config-N) parsed at flash time by tegraflash_impl_t264.py::tegraflash_update_bpmp_dtb() and written into /uphy/uphy{0,1}-config of the BPMP DTB.

Output is a single atomic ODMDATA commit in <source.root_path>/Linux_for_Tegra/ carrying the chosen uphyX-config-N token(s), the UPHY_CONFIG="" clear (for uphy0-config-6), AND every per-controller ODMDATA token derived from the chosen allocation (pcie@N_status=*, mgbeN-speed-*, USB SS per-port tokens). Sub-skills (/jetson-customize-pcie, /jetson-customize-mgbe, /jetson-customize-usb) own only the kernel-DT overlay fragments — they MUST NOT touch ODMDATA. All commits follow the batched pristine + customization pattern in ../../context/bsp-customization-workflow.md. Upstream BSP at <bsp_image.root_path>/ is never edited.

When to invoke

  • User says "configure UPHY", "uphy lane allocation", "set uphy0-config-N", "change MGBE speed", or asks to remap PCIe / MGBE / USB3 / UFS on a custom carrier.
  • A UPHY-fed controller doesn't enumerate after flash, OR cold boot dies in BL31 SError / BPMP firmware is not ready.
  • A downstream skill reports FMON fault or BPMP-DTB lane mismatch.

Procedure (summary)

Eight steps; full detail in references/procedure.md.

  1. Resolve target + docs. Refuse without active profile, custom carrier, source-tree git, or forked carrier conf. Resolve Adaptation Guide / schematic / Module Design Guide / SoC TRM.

  2. Locate "Configure the UPHY Lane" in the Adaptation Guide (PDF / HTML mirror / WebFetch). Cross-check Module Design Guide + SoC TRM.

  3. Cross-reference the carrier schematic. Cite UPHY net names (MGBE2_TX_P/N, PEX5_LN0+-, etc.). Zero matching nets = unrouted.

  4. Enumerate matching UPHY options. Surface every documented uphy0-config-N (and Thor uphy1-config-N) index.

  5. Ask the user which config (HARD GATE). Print tables first, then AskUserQuestion — one per UPHY surface, plus carrier-routing confirmation if any allocated lane is unrouted. Persist answers to the JSON sidecar (references/run-state-sidecar.md).

  6. Edit carrier flash-conf fork (atomic ODMDATA commit). This skill owns every ODMDATA token for the run. One ODMDATA="..." line, one commit, all tokens. Sub-skills MUST NOT touch ODMDATA.

    Decompile the BPMP DTB at <bsp_image.root_path>/Linux_for_Tegra/bootloader/generic/<BPFDTB_FILE> (BPFDTB_FILE from the carrier conf) to snapshot stock state, then emit tokens in this order:

    a. UPHY surface tokens — every chosen uphyX-config-N (Thor: both surfaces, even if one equals the guide default). Order uphy0 then uphy1; separator ,. b. Per-controller tokens — one per row whose plan-state differs from BPMP-stock. Match-rows get no token (redundant tokens can drop the whole line).

    • PCIe: pcie@N_status=okay|disabled.
    • MGBE: mgbeN-speed-<rate> on allocate, mgbeN-speed-del on disable. FMON arms on the controller's own clocks regardless of UPHY allocation — missing del ⇒ BL31 SError reboot loop. Single most common post-flash failure on Thor.
    • USB SS: per-port tokens when the SoC grammar exposes them. c. UPHY_CONFIG="" clear when uphy0-config-6 is selected (BCT pinmux clear per Adaptation Guide).
  7. Build the per-controller allocation table and dispatch. Derive one row per UPHY-fed controller (PCIe / MGBE / USB SS / UFS) with {class, instance, allocated?, BPMP-stock, K-stock, routed?, Desired K state}. This table drives both (a) Step 6's ODMDATA tokens and (b) the sub-skills' overlay fragments — build it before Step 6 commits.

    Then invoke /jetson-customize-pcie, /jetson-customize-mgbe, and /jetson-customize-usb for kernel-DT overlay fragments only (no ODMDATA edits — Step 6 owns the line). Each sub-skill re-reads K-stock from <bsp_image.root_path>/Linux_for_Tegra/kernel/dtb/tegra<soc>-*-nv.dtb and skips emission when K-stock matches Desired K state. UFS handling stays inline here (no UFS sub-skill).

    Invoke all three whenever their controller class is present on this SoC (e.g. skip MGBE on Orin). Ask the operator first; on yes, run the sub-skill inline.

  8. Summary + next-step chain. Headline, breakdown, choices table (UPHY surface | chosen config | lane summary | UPHY_CONFIG-clear), changes-summary table (file | repo | commit SHA | one-line summary covering this skill's commit + every dispatched sub-skill's commit), then drive the downstream chain (more I/O? build & promote? flash? validate?) via sequential AskUserQuestion prompts per references/procedure.md Step 8. Never substitute a printed "Next step: …" line for the prompts.

Show full SKILL.md (264 more words)Show less

Limitations

  • Only supports Tegra234 (Orin) and Tegra264 (Thor) UPHY surfaces.
  • Does not edit pinmux, PCIe-only DT properties absent from BPMP DTB (num-lanes, pcie-mode), or upstream BSP files.
  • Does not flash, build, or promote — chain into /jetson-build-source and downstream skills.
  • Hard-coded option tables are forbidden; if no Adaptation Guide source resolves the skill refuses rather than guessing.
  • Not table-driven across releases: every run re-reads the Guide for the active BSP version.

Troubleshooting

  • Cold boot reboot loop / BL31 plat_setup.c:726 / BPMP firmware is not ready after uphy0-config-6: a later ^UPHY_CONFIG= line in the carrier conf re-overrode the clear. Comment it (see references/procedure.md Step 6).
  • wait-for-device failed at flash, BPMP DTB unchanged: an ODMDATA token had wrong shape (e.g. mgbe0-speed-0). One bad token drops the whole ODMDATA="..." line. Inspect grammar in references/procedure.md.
  • BL31 SError reboot loop after disabling an MGBE: missing mgbeN-speed-del. FMON arms on the controller's own clocks regardless of UPHY allocation.
  • Newly-routed controller doesn't enumerate: stock kernel DTB had status="disabled". Overlay must emit status="okay" (matrix row 4 in references/procedure.md).
  • Pinmap delta=0 but board still misbehaves: UPHY differential pairs are absent from pinmux .xlsm. Drive decisions off schematic net names, not the pinmap.
  • Duplicate pcie@<addr> fragments: another skill (jetson-customize-pcie) already owns that node. Scope this skill to MGBE / UFS / USB3 SS / PCIe-status-only and cite the other overlay.

References

  • references/procedure.md — full eight-step procedure.
  • references/gotchas.md — cross-cutting gotchas.
  • references/run-state-sidecar.md — JSON sidecar schema + idempotency.
  • ../../references/platform_template.yaml — documents: schema.
  • ../../context/bsp-customization-workflow.md — overlay edit protocol.
  • ../../references/bsp-customization-kernel-dtb.md — composite-overlay filename / append protocol.
  • ../jetson-derive-carrier/SKILL.md — produces the conf this skill edits.
  • ../jetson-init-source/SKILL.md — produces the two git repos this skill commits into.
  • ../jetson-generate-kb/SKILL.md — KB consulted for chip family + file locations.

© NVIDIA, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (references) in skills/jetson-customize-uphy of NVIDIA/skills.

  • SKILL.md
  • BENCHMARK.md
  • evals/evals.json
  • references/gotchas.md
  • references/procedure.md
  • references/run-state-sidecar.md
  • skill-card.md
  • skill.oms.sig

Open the folder on GitHubat commit 67a13c0

Compare with similar skills

Jetson Customize Uphy next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jetson Customize Uphy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jetson Customize Uphy this skillNVIDIA/skills3.5k—~2.4kAutomated safety check: PassApache-2.0
Fla Triton To Gluonfla-org/flash-linear-attention5.8k—~4.2kAutomated safety check: PassMIT
DGX Spark Memory and Thermal Opswshobson/agents40k1 repos~2kAutomated safety check: PassMIT
DGX Spark Training Gotchaswshobson/agents40k1 repos~2kAutomated safety check: PassMIT
Megatron-LM on SLURMNVIDIA/Megatron-LM18k—~1.8kAutomated safety check: PassApache-2.0
OpenVLA-OFT Fine-TuningOrchestra-Research/AI-Research-SKILLs13k1 repos~3.7kAutomated safety check: PassMIT

Similar skills

  • Fla Triton To Gluon

    fla-org/flash-linear-attention

    Workflow for porting an existing Triton kernel in fla/ops/ to Gluon (triton.experimental.gluon) to gain explicit control over tensor layouts, shared memory, async data movement (cp.async / TMA), MMA…

    5.8k GitHub stars~4.2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Plans memory headroom, works through out-of-memory failures and watches temperature and power during long ML training jobs on NVIDIA DGX Spark.

    40k GitHub starsUsed in 1 repo~2k tokens
    AI & LLM EngineeringAuto-check passed
  • Preflight checks and diagnosis for ten known failure modes of ML training on NVIDIA DGX Spark's GB10, spanning launch errors, memory, thermals, bandwidth and precision.

    40k GitHub starsUsed in 1 repo~2k tokens
    AI & LLM EngineeringAuto-check passed
  • Megatron-LM on SLURM

    NVIDIA/Megatron-LM

    Official

    Shows how to launch distributed Megatron-LM training on a SLURM cluster: sbatch skeleton, torch.distributed.run setup, CUDA_DEVICE_MAX_CONNECTIONS rules and failure diagnosis.

    18k GitHub stars~1.8k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • OpenVLA-OFT Fine-Tuning

    Orchestra-Research/AI-Research-SKILLs

    Fine-tunes and evaluates OpenVLA-OFT and OFT+ robot policies with LoRA and continuous action heads on LIBERO simulation and ALOHA real-robot setups.

    13k GitHub starsUsed in 1 repo~3.7k tokens
    AI & LLM EngineeringAuto-check passed
  • Cosmos Policy Evaluation

    Orchestra-Research/AI-Research-SKILLs

    Sets up and runs NVIDIA Cosmos Policy evaluations on the LIBERO and RoboCasa simulators, including headless GPU rendering and inference latency profiling.

    13k GitHub stars~3.7k tokensUpdated 3 mo ago
    AI & LLM EngineeringAuto-check passed

More from NVIDIA/skills

All 380 skills in this repo
  • Official

    A skill your agent uses when the user wants to deploy, run, debug, tear down, or call the REST API of the RTVI-CV 2D detection / tracking microservice.

    3.5k GitHub starsUsed in 1 repo~4.5k tokens
    Auto-check passed
  • Official

    Generates, validates, compares and explains HOLOLINK_def.svh macro files for the HSB IP, using bundled Python scripts and asking before it writes anything.

    3.5k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Official

    Runs and validates an end-to-end Mission Control demo in a locally installed Isaac Sim, with a Nova Carter robot driven through a Python server.

    3.5k GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Orchestrates defect image generation for PCBA, metal surface and glass inspection with NVIDIA Cosmos AnomalyGen on OSMO, from cold-start Day 0 to real-photo Day 1 labeling.

    3.5k GitHub stars~5k tokensUpdated today
    Auto-check: notes
  • Orchestrates video data augmentation and auto-labeling workflows on OSMO, from flow selection and preflight checks to submission, monitoring and output download.

    3.5k GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Official

    Runs NVIDIA TAO Data Services KPI analysis on object detection results, comparing predictions to ground truth and writing per-class precision, recall and AP to a CSV.

    3.5k GitHub stars~2.7k tokensUpdated today
    Auto-check: notes

Questions about Jetson Customize Uphy

What does Jetson Customize Uphy do?

Configure Jetson UPHY lane allocation (uphy0/uphy1-config) on Orin/Thor custom carriers. Jetson Customize Uphy is an agent skill from NVIDIA/skills, published by the product's own GitHub organization. Configure Jetson UPHY lane allocation (uphy0/uphy1-config) on Orin/Thor custom carriers.

When should I use Jetson Customize Uphy?

Jetson Customize Uphy fits situations like: PCIe-only edits; tasks that involve GPU and accelerator computing.

How do I install Jetson Customize Uphy in Claude Code?

Run `npx skills add NVIDIA/skills --skill jetson-customize-uphy -a claude-code`. Or copy the skill folder (skills/jetson-customize-uphy in NVIDIA/skills) into .claude/skills/jetson-customize-uphy in your project. Claude Code loads it when a task matches its description.

How do I install Jetson Customize Uphy in Codex?

Run `npx skills add NVIDIA/skills --skill jetson-customize-uphy -a codex`. Or copy the skill folder (skills/jetson-customize-uphy in NVIDIA/skills) into .agents/skills/jetson-customize-uphy in your project. Codex loads it when a task matches its description.

Can I use Jetson Customize Uphy in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NVIDIA/skills --skill jetson-customize-uphy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jetson-customize-uphy, .gemini/skills/jetson-customize-uphy, .github/skills/jetson-customize-uphy and .opencode/skills/jetson-customize-uphy in your project.

What does Jetson Customize Uphy need to run?

SKILL.md names no scripts, command-line tools or credentials: Jetson Customize Uphy is instructions for the agent only.

Does Jetson Customize Uphy access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Jetson Customize Uphy safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Jetson Customize Uphy use?

Jetson Customize Uphy is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jetson Customize Uphy use?

About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.3k tokens, read only when the agent opens those files.

What are the alternatives to Jetson Customize Uphy?

Skills that share tags, products or a category with Jetson Customize Uphy: Fla Triton To Gluon (fla-org/flash-linear-attention, 5.8k stars), DGX Spark Memory and Thermal Ops (wshobson/agents, 40k stars), DGX Spark Training Gotchas (wshobson/agents, 40k stars) and Megatron-LM on SLURM (NVIDIA/Megatron-LM, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jetson Customize Uphy?

NVIDIA (a GitHub organization, an official publisher) maintains it in NVIDIA/skills, which has 3,539 GitHub stars. The repository holds 380 skills in this directory. The repository was last updated on October 7, 2026.

Source: NVIDIA/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.