jetson-customize-pcie
Per-controller PCIe enable / disable / lanes / link-speed for a Jetson Thor or Orin custom carrier via ODMDATA + kernel-DT overlay.
Skill by Jetson Team
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nvidia-jetson-customize-pcie
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/jetson-customize-pcie
What's inside
- Skill name
jetson-customize-pcie- Description
- Per-controller PCIe enable / disable / lanes / link-speed for a Jetson Thor or Orin custom carrier via ODMDATA + kernel-DT overlay. Do NOT use for UPHY lane allocation or endpoint-mode bring-up.
- License
- Apache-2.0
- Metadata
- author: Jetson Team · domain: meta · data-classification: public
- Instructions
- 175 lines in SKILL.md · view on GitHub
Files (7)
- BENCHMARK.md
- SKILL.md
- evals.json · evals/
- gotchas.md · references/
- procedure.md · references/
- skill-card.md
- skill.oms.sig
SKILL.md (first lines)
# Customize PCIe (per-controller status / lanes / speed) ## Overview PCIe on Tegra264 (Thor, `pcie@C0..C5`) and Tegra234 (Orin, `pcie@C0..C10`) is split across multiple controllers that share the UPHY lane pool with USB3 / MGBE / UFS. Each controller's runtime behavior is determined by **two surfaces, both required**: | Surface | Target | Authoritative for | |---|---|---| | ODMDATA `pcie@N_status=…` (+ `pcie@N_max-link-speed`, `pcie@N_pcie-mode`, `pcie@N_clk-scheme`, `pcie-cN-endpoint-enable`) | `/pcie/pcie@N` in BPMP DTB | UPHY lane power, refclk gating, controller-side power rails | | Kernel-DT overlay on `&pcieN` | `/bus@0/pcie@<addr>` in kernel DTB | Kernel probe, lane width, link speed, RC/EP mode | Skipping the kernel overlay on a disable lets the kernel probe a powered-down PHY (link timeouts in dmesg). Skipping the ODMDATA token on a disable leaves BPMP holding the PHY hot. **Agentic, not table-driven** — no controller table, no `questions.json`. Every controller, lane width, schematic-routed receptacle, and authoritative DT node address is discovered at runtime from the docs + DTB + carrier pinmap. The output is a **kernel-DT overlay commit only**. Per-controller `fragment@N` blocks are appended to the composite custom overlay `.dts` per [`../../references/bsp-customization-kernel-dtb.md`](../../references/bsp-customization-kernel-dtb.md) and committed to the `bsp_sources/` hardware repo. `/jetson-build-source` compiles the composite to `.dtbo` and owns its Makefile + flash-conf registration. **This skill MUST NOT edit `ODMDATA="..."`.** All ODMDATA tokens (`pcie@N_status=…`, `pcie@N_max-link-speed`, `pcie@N_pcie-mode`, `pcie@N_clk-scheme`, `pcie-cN-endpoint-enable`, plus the `uphyX-config-N` surface tokens and `UPHY_CONFIG=""` clear) are emitted by `/jetson-customize-uphy` in a single atomic commit on the carrier flash-conf fork. The allocation table this skill consumes from the UPHY sidecar already tells the operator which controllers are `okay` / `disabled` / per-lane sized; this skill only translates that table into kernel-DT overlay fragments and verifies that the overlay agrees with the ODMDATA already committed by `customize-uphy` (consistency check in Step 8 — disagreement is reported, not silently fixed). ## When to invoke - The user says "configure PCIe", "enable PCIe controller", "set PCIe num-lanes", "change PCIe link speed", or asks to flip a `pcie@N_status` token. - A specific PCIe slot or M.2 receptacle doesn't enumerate after flash, OR the link trains at the wrong width / speed. - `jetson-customize-uphy` ran and re-allocated lanes across PCIe controllers (e.g. switched from `uphy0-config-7` to `uphy0-config-6` enabling PCIe C3); the per-controller side now needs to be brought up. - `jetson-customize-mgbe` reports the QSFP path is wired but the kernel doesn't probe its PCIe-side companion (rare; XFI configurations). **Prerequisites:** - Active profile with `reference_devkit:` + `custom_carrier:` blocks. - `<source.root_path>/Linux_for_Tegra/.git` exists (`/jetson-init-source`). - `/jetson-derive-carrier` has run — carrier flash-conf fork is in the overlay tracker. - `/jetson-customize-uphy` has run — its JSON sidecar at `<workspace>/target-platform/<profile-stem>.jetson-customize-uphy.json` drives the per-controller `enable` decision. - Source-of-truth docs registered or supplied at prompt: Adaptation Guide, Module Design Guide, SoC TRM. - **When `custom_carrier:` is present, both `documents.custom_carrier_schematic` AND `documents.custom_carrier_pinmux_xls` are REQUIRED.** Refuse the run if either is missing — routing on a custom carrier cannot be guessed. Reference-devkit-only profiles skip this check. - `dtc` on PATH. ## Procedure (summary) Full step-by-step walkthrough lives in [`references/procedure.md`](references/procedure.md). High-level flow: 1. Resolve active target + open source-of-truth documents (incl. `<carrier-pinmap>`, `<ref-dtb>`, `<uphy-state>`). Refuse if `<uphy-state>` is missing. 2. Diff PCIe topology — devkit vs custom carrier — by decompiling `<ref-dtb>` and grepping the schematic for `PEX<N>_*` net labels. 3. `AskUserQuestion` (multiSelect) — which controllers to customize. 4. Per-controller verification: pinmap + schematic + `pin_verifier.py` for `PE<N>_CLKREQ_L`, `PE<N>_RST_L`, optional `PE<N>_WAKE_L`. 5. Auto-derive per-controller plan (`enable` from `<uphy-state>`, `lanes` / `speed` from Adaptation Guide, `mode` hard-pinned to `"rc"`) → mandatory confirm-or-customize gate. 6. Append per-controller `fragment@N` blocks (marker `/* custom-bsp: pcie:pcie@<addr> */`) to the composite custom overlay `.dts` in `bsp_sources/`. Pre-flight `dtc` + `fdtoverlay`. Commit via the workflow's preview gate. **Do not edit `ODMDATA`** — `/jetson-customize-uphy` already emitted `pcie@N_status=…`, `pcie@N_max-link-speed`, `pcie@N_pcie-mode`, `pcie@N_clk-scheme`, and `pcie-cN-endpoint-enable` in its single atomic ODMDATA commit. This skill only translates the per-controller plan into kernel-DT overlay fragments. 7. (Step folded into Step 6 — overlay-only emission.) 8. Cross-check ODMDATA vs overlay consistency. On a contradictory row, **stop and ask the user how to recover the two commits. Never run `git reset --hard` autonomously.** 9. Write run-state JSON sidecar at `<workspace>/target-platform/<profile-stem>.jetson-customize-pcie.json` + summary, then drive the downstream next-step chain via sequential `AskUserQuestion` prompts per `references/procedure.md` Step 9. Never substitute a printed "Next step: …" line for the prompts. ## Limitations - **Mode hard-pinned to RC.** Endpoint mode is only emitted when the operator passes `mode_override="ep"` in Step 5c. - **`enable` is derived, not asked.** UPHY-allocated controllers are mandatorily `okay`; non-allocated are mandatorily `disabled`. - **No upstream BSP edits.** Output lands in `Linux_for_Tegra/` + `bsp_sources/` only.
From NVIDIA/skills, Apache-2.0.
More from NVIDIA/skills
- 0.846score
nemo-fabric-integrate
NVIDIA Corporation and Affiliates
Use this skill when integrating NVIDIA NeMo Fabric into a consumer application, service, evaluation harness, or platform through the typed Python SDK —…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-pipeline
Vinit Bansal <vinitkumarb@nvidia.com>
Use when planning, executing, and independently validating Jetson Video Codec SDK or PyNvVideoCodec encode/decode, transcode, segmentation, container decode…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-convert-pytorch
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Convert existing plain or manual PyTorch training code into an NVFLARE federated job using Client API model exchange, local validation, and job export; use…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-get-started
NVIDIA Corporation and Affiliates
Use this skill when first-time NeMo Relay users want help selecting and following an appropriate quick-start guide or verifying their first working integration.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-recipe
Vinit Bansal <vinitkumarb@nvidia.com>
Use when turning a Jetson encoder use case into one surface-neutral recipe with native Video Codec SDK and PyNvVideoCodec projections.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvidia-broadcast
NVIDIA Broadcast Team <broadcast-skills-dev@nvidia.com>
Use when controlling NVIDIA Broadcast through MCP to apply effects, process local media, select devices, or change camera resolution, or when Broadcast is…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-setup
Vinit Bansal <vinitkumarb@nvidia.com>
Use when installing, repairing, reusing, inspecting, or verifying readiness of the native NVIDIA Video Codec SDK or PyNvVideoCodec on Jetson, including the…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-diagnose-job
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Use when the user asks why a reported NVFLARE job failure signal occurred: the job failed, stalled, timed out, lost clients, ended with EXECUTION_EXCEPTION…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-convert-lightning
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Convert existing PyTorch Lightning training code into an NVFLARE federated job using the Lightning Client API patch, local validation, and job export; use…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-install
NVIDIA Corporation and Affiliates
Use this skill when choosing or running NeMo Relay installation for an agent runtime, application language, framework integration, or plugin bundle, or…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-fed-stats
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Compute federated statistics over tabular data (count, sum, mean, stddev, var, histogram, quantile, noise-protected min/max) and image data (count…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-capability
Vinit Bansal <vinitkumarb@nvidia.com>
Use when Jetson codec, profile, chroma, bit-depth, dimension, engine-count, or operational support must be reconciled from live APIs, authenticated NVIDIA…
SkillAFreshness: A★ 3.7KClaude Code +9
Signals
- Stars
- 3,718
- Forks
- 457
- Open issues
- 8
- Last commit (this folder)
- Jun 22, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/NVIDIA/skills
- Website
- docs.nvidia.com/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Jetson Team
- 0.742score
jetson-build-source
Jetson Team
Use when you need to rebuild the BSP overlay — DT, OOT modules, or kernel — from changes under bsp_sources/.
SkillCFreshness: C★ 3.7KClaude Code +9 - 0.739score
jetson-customize-camera
Jetson Team
Enable MIPI/GMSL camera sensors on a Jetson Thor or Orin custom carrier by rendering a kernel-DT overlay from the in-tree sensor DTSI.
SkillCFreshness: C★ 3.7KClaude Code +9 - 0.739score
jetson-customize-clocks
Jetson Team
Use to lock/cap Jetson CPU/GPU/EMC clocks, toggle EMC/CPU DVFS, or change cpufreq governors by editing BPMP DTB and nvpower.sh pre-flash.
SkillCFreshness: C★ 3.7KClaude Code +9 - 0.739score
jetson-customize-uphy
Jetson Team
Configure Jetson UPHY lane allocation (uphy0/uphy1-config) on Orin/Thor custom carriers.
SkillCFreshness: C★ 3.7KClaude Code +9 - 0.739score
jetson-customize-pinmux
Jetson Team
Per-pin SFIO / direction / initial-state configurator for a Jetson Orin or Thor custom carrier from the pinmux XLSM.
SkillCFreshness: C★ 3.7KClaude Code +9 - 0.739score
jetson-flash-image
Jetson Team
Use to flash a promoted BSP image to a Jetson DUT in RCM mode via flash.sh or l4t_initrd_flash.sh.
SkillCFreshness: C★ 3.7KClaude Code +9
Cite this page
jetson-customize-pcie skill. Agent Mart. https://agentmart.dev/skills/nvidia-jetson-customize-pcie (last updated 2026-10-24)