All skills
nvidia avatar

/jetson-customize-clocks

@87053a0
by NVIDIA Corporationnvidia/skills3.5k stars
424

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.

Use this Skill: https://skilld.dev/gh/nvidia/skills/jetson-customize-clocks

This session only. Nothing lands on disk.

referencesnvpower-sh-edits.md

≈477 tokens on demand. Your agent reads this file only when SKILL.md points to it.

nvpower.sh edits

Reference material for ../SKILL.md Operation 2.

nvpower.sh lives at Linux_for_Tegra/rootfs/etc/systemd/nvpower.sh and runs at boot via nvpower.service. It sets cpufreq / devfreq governors and (optionally) per-device min / max / static rates.

Functions of interest

Function Writes to Default (non-safety platforms)
set_cpufreq_governor() /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor schedutil
set_devfreq_governor() /sys/class/devfreq/<dev>/governor tegra_wmark — but GPU and nvjpg are skipped

There is no dedicated function for per-device min / max / static rates. To pin or bound a device's rate, write min_freq / max_freq to its sysfs node from a helper added inside (or invoked alongside) the existing flow.

Common edits

Goal Edit
Pin all CPUs to Fmax In set_cpufreq_governor: set desired_cpufreq_gov="performance" unconditionally (remove the IS_SAFETY_PLATFORM → schedutil override).
Pin all devfreq devices to Fmax In set_devfreq_governor: set desired_devfreq_gov="performance" and remove the gpu / nvjpg skip block.
Static custom rate on one device After the governor is set, write <rate> to min_freq then max_freq (order matters when raising; reverse when lowering).
Min / max bounds without pinning Same as static, but min < max — governor stays dynamic within the bounds.

Package-upgrade caveat

nvpower.sh is shipped by the nvidia-l4t-init deb. Package upgrades clobber hand edits to the rootfs file. For long-lived test setups, prefer a systemd drop-in or a separate helper file checked into the rootfs alongside nvpower.sh rather than editing it in place.

Apply

nvpower.service runs the edited script on the next boot after Deploy re-flashes the rootfs — see the sibling skill /jetson-flash-image.

Source: SKILL.md on GitHub

2 warnings3mo3 checks · Risk MEDIUM
  • Gen Agent Trust Hub3mo

    The skill facilitates NVIDIA Jetson clock and power customization. It involves administrative tasks using sudo and processes external system configuration files, creating a potential surface for indirect prompt injection.

  • Socket3mo

    No alerts

  • Snyk3mo

    Risk: MEDIUM · 1 issue

Signed by skilld at 87053a0. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 3 months ago
version
0.0.1
Other metadata
metadata
{
  "data-classification": "public",
  "author": "Jetson Team",
  "tags": [
    "clocks",
    "cpu",
    "gpu",
    "emc",
    "dvfs",
    "bwmgr",
    "bpmp",
    "nvpower",
    "cpufreq",
    "devfreq"
  ],
  "domain": "clocks"
}

README badge

README badge for nvidia/skills/jetson-customize-clocks