Agent skill

jetson-customize-clocks

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. Do NOT use for live tuning or nvpmodel edits.

NVIDIAgithub.com/NVIDIAGitHub ↗
claude-codecodexApache-2.0
Install
npx skills add NVIDIA/skills --skill jetson-customize-clocks --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 9
SKILL.md size: 19 KB
Bundled scripts: none
Version: 0.0.1
Declared author: Jetson Team
Path: skills/jetson-customize-clocks/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 2,789
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Instructs the agent to customize clock behavior on a Jetson target by editing two pre-flash components: the BPMP DTB (to set per-clock ceilings and EMC DVFS behavior) and nvpower.sh (to configure cpufreq/devfreq governors and boot-time rates). It supports operations to lock specific clocks, disable/enable EMC DVFS, and pin to MAXN for stress tests, all via pre-flash edits. It explicitly excludes live-target tuning and nvpmodel edits.

How it works

  • Resolve active target profile and ensure BSP image is extracted with an initialized overlay tracker.
  • Choose an operation: BPMP DTB edit (max-rate-custom), EMC DVFS disable/enable, or nvpower.sh edits; combine as a single workflow when doing the MAXN recipe.
  • Operation 1 (BPMP DTB edits): follow the BPMP DTB customization protocol to modify the clock node's max-rate-custom, and optionally disable EMC DVFS by setting bwmgr.enabled and cactmon.enabled (and possibly removing osp-controller on T26x). Recompile and commit via the overlay tracker.
  • Operation 2 (nvpower.sh edits): edit Linux_for_Tegra/rootfs/etc/systemd/nvpower.sh in the overlay tracker; apply substitutions through the canonical edit recipes and commit; deploy via /jetson-promote-image and /jetson-flash-image.
  • For MAXN stress runs, apply both operations in one protocol cycle: remove max-rate-custom lines, enable EMC DVFS disable edits, and set both cpufreq and devfreq governors to performance in nvpower.sh, then set boot-default nvpmodel to MAXN via the sibling skill.
  • Deployment proceeds through /jetson-promote-image and /jetson-flash-image to take effect on next boot.

When to use it

Use when you need to lock/cap specific Jetson clock rates or disable EMC/CPU DVFS before flashing, or when you want to pin to MAXN for stress tests. Do not use for live tuning or nvpmodel edits.

What it can touch

Touchpoints include:

  • BPMP DTB edits under the Linux_for_Tegra/ path (content edits to max-rate-custom, EMC DVFS nodes, and osp-controller deletion on T26x).
  • nvpower.sh edits located at Linux_for_Tegra/rootfs/etc/systemd/nvpower.sh in the overlay tracker.

Caveats

Edits are image-building, not live-tuning. max-rate-custom only lowers ceilings below max-rate-maxn. The effective runtime ceiling is the minimum of BPMP cap and active nvpmodel cap. EMC DVFS changes depend on SoC (T23x vs T26x) and may require additional edits; ODMDATA tokens may override BPMP edits at flash time. nvpower.sh edits can be clobbered by package upgrades; use a systemd drop-in or sibling helper for persistence.

From the SKILL.md

# Customize Clocks ## Purpose Customize CPU, GPU, and EMC clock behavior on a Jetson target by editing files under `Linux_for_Tegra/` before flashing the image. Two layers are in scope: - The **BPMP DTB** at `Linux_for_Tegra/bootloader/<BPFDTB_FILE>` — per-clock `max-rate-custom` ceilings, plus the EMC DVFS gate (bwmgr + cactmon on all SoCs; osp-controller on T26x only). - **nvpower.sh** at `Linux

More from skills
All skills →
About this skill
What does the jetson-customize-clocks skill do?

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. Do NOT use for live tuning or nvpmodel edits.

How do I install it?

Run `npx skills add NVIDIA/skills --skill jetson-customize-clocks --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From NVIDIA/skills, a repository with 2,789 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going