Agent skill · NVIDIA
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.
What it needs
About 5k tokens when loaded.
What this skill does
Customize pinmux (per-pin SFIO / direction / state) Overview 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.rootpath>/LinuxforTegra/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 PINMUXCONFIG= / GPIOINTCONFIG= / PMCCONFIG= 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, DPSINGLE, BDMIPI16X, BDUSB2, OSCI27 are fixed-function and skip Q4–Q6 (configurable: no). The bundled scripts/modifypinmux.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. When to invoke The user says "configure pin", "set SFIO", "edit pinmux DTSI", "set pin direction", "set initial state", or asks to repurpose a CVM ball (e.g. flip a pin between GPIO and a peripheral function). A sibling skill (jetson-customize-camera, jetson-customize-pcie, jetson-customize-usb, jetson-customize-mgbe) reports an HSIO pin mismatch via pinverifier.py and the user wants to fix it. The user pre-derived a custom carrier with /jetson-derive-carrier and now wants to author the pinmux from a freshly-edited .xlsm. Prerequisites: Active profile selected (target-platform/activetarget.yml → <profile>.yaml with referencedevkit: AND customcarrier:). <source.rootpath>/LinuxforTegra/ exists as a git repo (/jetson-init-source). …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills NVIDIA/jetson-customize-pinmux