K1 GPU Voltage Control

Oh boy. Here it comes. First post and first question for the team here. I haven’t been able to find a definitive answer so I’m here for some help.

I have the Nexus 9 with the Tegra K1 Denver chip. I use the elementalx kernel for overclocking.
I’m working on changing the GPU voltages on full load. Unfortunately the same code strings to change the core clock won’t work for the voltage.

Here’s what I’ve found so far:

It appears there’s 3 areas for the GPU_VDD_MV voltage.

Within the kernel there’s a /kernel/tegra_cap
cat core_cap_level
1150 (1150) --I believe this is the max core voltage @ full load. Measured in MV.
cat core_cap_state
0 (0) --I think this would be 1 if I had the GPU @ max clock.

Next up is /kernel/debug/clock/vdd_gpu_mv
This result varies based on the core clock

804MHz - 1020mV (1.020V)
852MHz - 1070mV (1.070V) (stock)
900MHz - 1120mV (1.120V)
954MHz - 1180mV (1.180V)
984MHz - 1190mV (1.190V)

This seems awfully high of voltage for a embedded GPU. I’m trying to keep the higher core clock but possibly lower the voltage. There is a “Nominal” and “offset” voltage value when I “cat dvfs” to view the clock profiles. Both those are 0. What code do I need to change the voltages???

I use:

echo 954000000 > /sys/kernel/debug/clock/override.gbus/rate

to change the core clock.

Thanks guys! Glad to be apart of the forum. Hope my question(s) are clear.

Ok. I need some help here. For whatever reason I’m still unable to change the GPU voltage. The voltage is held in


I try using the echo command but after I apply it, the voltage stays the same.
Stock voltage from vdd_gpu_mv = 870 mV

echo 85000000 > /sys/kernel/debug/clock/vdd_gpu_mv
cat vdd_gpu_mv

I have even tried

set 85000000 > /sys/kernel/debug/clock/vdd_gpu_mv
cat vdd_gpu_mv

This should apply a 850 mV voltage to the GPU, however, it always apply successfully but never actually changes the voltage. Is there a command I’m missing here??? HELP!!!