cudaq-guide
CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.
jetson-customize-pinmux
Per-pin SFIO / direction / initial-state configurator for a Jetson Orin or Thor custom carrier from the pinmux XLSM. Do NOT use for kernel-DT overlay or ODMDATA edits.
Full skill instructions
The Tegra pinmux spreadsheet (.xlsm) is the ground truth for every
CVM ball: SoC pin name, supported SFIOs, customer-selected function,
direction, and initial state. This skill parses that XLSM, runs a
per-pin Q1–Q6 interactive loop, and emits the three BCT DTSIs
(pinmux, gpio, padvoltage) in one shot into the overlay tracker
at <source.root_path>/Linux_for_Tegra/bootloader/.
Unlike sibling skills jetson-customize-uphy / jetson-customize-pcie /
jetson-customize-camera, pinmux has no kernel-DT overlay surface and no
ODMDATA edit. The XLSM is the source of truth; the three emitted
DTSIs land at flash time via the carrier conf's
PINMUX_CONFIG= / GPIOINT_CONFIG= / PMC_CONFIG= references (which
/jetson-derive-carrier set up).
Pad classification (silicon-fixed): only BD* and BI* pads have
configurable pull / drive / open-drain attributes. LP5XA_*,
UPHYDS_*, DP_SINGLE_*, BDMIPI16X_*, BDUSB2_*, OSCI27_* are
fixed-function and skip Q4–Q6 (configurable: no).
The bundled scripts/modify_pinmux.py is the workhorse: it parses
the XLSM via openpyxl>=3.1, builds the per-carrier pinmap JSON,
captures pin edits into a session shim, and (on generate) writes
the three DTSIs.
jetson-customize-camera, jetson-customize-pcie,
jetson-customize-usb, jetson-customize-mgbe) reports an HSIO pin mismatch
via pin_verifier.py and the user wants to fix it./jetson-derive-carrier
and now wants to author the pinmux from a freshly-edited .xlsm.Prerequisites:
target-platform/active_target.yml →
<profile>.yaml with reference_devkit: AND custom_carrier:).<source.root_path>/Linux_for_Tegra/ exists as a git repo
(/jetson-init-source)./jetson-derive-carrier has run — the three pinmux-side BCT DTSIs
(PINMUX_CONFIG, GPIOINT_CONFIG, PMC_CONFIG references in the
carrier conf) exist in the overlay tracker..xlsm is registered in the active profile at
documents.custom_carrier_pinmux_xls (preferred when custom-carrier-
specific) or documents.ref_devkit_pinmux_xls (fallback). The
bundled modify_pinmux.py requires openpyxl>=3.1.See references/procedure.md for the full
step-by-step procedure (Steps 1–8). Summary:
custom_carrier:, overlay-tracker prerequisites; resolve the
pinmux .xlsm path from
documents.custom_carrier_pinmux_xls →
documents.ref_devkit_pinmux_xls → single XLSM under
documents.root_path → user prompt.modify_pinmux.py probe to parse the XLSM into the
per-skill scratch <KB>/pinmap/<custom-carrier>.json plus
session.json shim.modify_pinmux.py lookup; surface
supported SFIO list, defaults, and configurable: yes/no.AskUserQuestion). Q1–Q3
(sfio / direction / initial_state) always asked; Q4–Q6
(pull / drive_type / open_drain) only when
configurable: yes. tristate and e_input are derived from
direction, never asked.modify_pinmux.py generate --out-dir <source.root_path>/Linux_for_Tegra/bootloader/ (root, not
bootloader/generic/BCT/ — derive-carrier .dts forks live there,
do not colocate). Emits:
tegra<soc>-mb1-bct-{pinmux,gpio,padvoltage}-<carrier-key>.dtsi.
<carrier-key> comes from the carrier conf's PINMUX_CONFIG=
reference, NOT the kebab-cased carrier name.<profile-stem>.jetson-customize-pinmux.json sidecar and the
transient session.json shim under
<workspace>/target-platform/.OVERLAY_DTB_FILE edit; no
render_conf.py hand-off. This skill ends at the three BCT
DTSIs — the carrier conf already references them via
PINMUX_CONFIG= / GPIOINT_CONFIG= / PMC_CONFIG= (set up by
/jetson-derive-carrier)..dts wrapper's #include after generate.
/jetson-derive-carrier forks the .dts wrappers at
bootloader/generic/BCT/, but their #include lines may still
pull the upstream devkit .dtsi (e.g.
…-p3834-xxxx-p4071-0000.dtsi). After generate writes the new
<CARRIER_KEY>.dtsi to bootloader/ root, edit each wrapper's
#include to the new filename — by bare basename
(#include "tegra<soc>-mb1-bct-pinmux-<CARRIER_KEY>.dtsi"), not
../../… filesystem-relative. The BCT build's cpp -I bootloader/
resolves bare basenames; that's the convention every other BCT
include in the tree follows. Roll the wrapper edits into the same
customization commit as the three DTSIs. See references/procedure.md
Step 5 ("Sanity-check the carrier .dts wrapper").configurable: yes. Asking pull / drive_type /
open_drain on a fixed-function pad (LP5XA_*, UPHYDS_*,
BDMIPI16X_*, etc.) is silently dropped by the script and confuses
the user. lookup prints configurable: yes/no — always check it
before prompting Q4–Q6.tristate and e_input are derived, never asked. unused →
tristate=ENABLE; input / bidirectional → enable-input=ENABLE.
Exposing them as separate prompts produces inconsistent DTSIs.sfio=gpio requires a parseable gpio=GPIOn_PD.NN entry in the
pinmap row's sfio list. Pins without one are GPIO-incapable
silicon; set-pin rejects the call. Surface the rejection — don't
silently fall back to a non-GPIO SFIO.// custom-bsp: pinmux on the closing brace; gpio default-state
entries carry the same marker as a trailing comment. Re-running
generate must detect and update — never duplicate.modify_pinmux.py is unchanged from the original framework —
it reads its own session.json shim under --kb-dir. The shim
is regenerated each run from the active profile + the user-facing
sidecar. Do not hand-edit the shim; it's transient.modify_pinmux.py commit (legacy patch-in-place
flow) tolerates missing per-pin blocks via
pinmux.warnings[] rather than failing. Surface the warning;
point at the alternate DTSI variant.<bsp_image.root_path>. All
edits land in <source.root_path>/Linux_for_Tegra/bootloader/ under
the pristine + customization commit pattern.| Script | Purpose | Arguments |
|---|---|---|
scripts/modify_pinmux.py | XLSM parser + per-pin DTSI generator. Invoked via run_script() from Steps 3-6 with the subcommand of the current phase. | probe | lookup | set-pin | apply | generate | commit [...] (see --help) |
scripts/generate_dtsi.py | Renders pinmux/GPIO/padvoltage DTSI fragments from the bundled session state. Called by modify_pinmux.py generate. | --session <path> --out-dir <dir> |
Invoke from the skill body as a subprocess via run_script():
# run_script: probe the carrier pinmux XLSM and write a session state
scripts/modify_pinmux.py probe --xlsm carrier.xlsm --session .pinmux-session.json
# run_script: render DTSI fragments from the final session state
scripts/modify_pinmux.py generate --session .pinmux-session.json --out-dir bsp_sources/pinmux/
references/procedure.md — full Step 1–8
procedure prose.questions.json — Q1–Q6 prompt schema consumed
by Step 4.../../references/platform_template.yaml — documents: block (ref_devkit_pinmux_xls, custom_carrier_pinmux_xls).../../context/bsp-customization-workflow.md — overlay edit protocol (single-commit per DTSI fork).../jetson-derive-carrier/SKILL.md — must run first; produces the pinmux / gpio / padvoltage DTSI forks this skill edits, and rewrites the carrier conf's PINMUX_CONFIG= / GPIOINT_CONFIG= / PMC_CONFIG= lines to point at them.../jetson-init-source/SKILL.md — produces the overlay tracker this skill commits into.../jetson-link-docs/SKILL.md — author the profile's documents: block, including the pinmux XLSM bindings.CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.
Use when the user wants to create a dataset, generate synthetic data, or build a data generation pipeline.
NVIDIA DeepStream SDK development with Python pyservicemaker API. Use when building video analytics pipelines, GStreamer-based video processing, TensorRT inference integration, object detection/tracking, or Kafka/message broker integration.
Filesystem RAG benchmarks: corpus/, train.json, evaluate_rag.py (RAGAS quality). Not for prod monitoring, latency/throughput benchmarking (use rag-perf), or evals outside this repo layout.
Use when the user wants to search, query, extract, transcribe, describe, quote, filter, or aggregate across documents — PDFs, scanned forms / images (`.jpg` `.png` `.tiff`), Office (`.docx` `.pptx`), text (`.html` `.txt`), audio (`.mp3` `.wav` `.m4a`), or video (`.mp4` `.mov`). Prefer this over native Read / Grep for multi-file or non-PDF corpora. Not for: editing files, web browsing, single-file plain-text lookups, fine-tuning.
Coordinate the end-to-end CAD/source-asset to SimReady workflow. Use for broad requests such as CAD to SimReady, source asset to simulation-ready USD, or prop packaging that require conversion, material/physics assignment, SimReady conformance, validation, and optional package creation; deploy or verify Content Agents services first when property assignment is enabled; route single-stage work through nested references.
Use this skill to bring any vision model from HuggingFace or NVIDIA NGC into an NVIDIA DeepStream pipeline with end-to-end automation: ONNX download, SafeTensors export, TRT engine build, custom nvinfer bbox parser, multi-stream benchmark, and PDF report. Object detection models only.
Top-level workflow skill for USD performance diagnosis and optimization. Handles slow loading, high memory, low FPS, and broad scene-optimization requests; delegates auth/runtime setup to Phase 0 owners.
Vehicle routing (VRP, TSP, PDP) with cuOpt — Python API only. Use when the user is building or solving routing in Python.
Use only to generate or update a governance skill card for a specified existing agent skill directory. Do not use for explaining, listing, comparing, or discussing skill capabilities.
Use as the top-level router for Omniverse Realtime Viewer USD app requests and focused viewer reference documents.
Performance benchmarking for a deployed NVIDIA RAG Blueprint server: profiling pass + aiperf load test driven by a single YAML config. Not for accuracy / RAGAS scoring (use rag-eval) or for deploying / repairing services (use rag-blueprint).
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience