ADL: Why can't I set Vddc to value outside of default range

Discussion created by mjmvisser on Jul 17, 2011

Hi, I'm the author and maintainer of the Python ADL3 wrapper and atitweak tool for Linux: https://github.com/mjmvisser/adl3

The top request from users of this tool is to be able to set the core voltage to a higher value than the "maximum". Obviously, this can potentially damage your card, warrant is void, do not pass go, etc., but it's already possible with third-party tools that access the hardware directly.

As of the 11.6 drivers, it is possible to set clock speeds outside of the default range. Attempting to "overclock" the voltage using the normal ADL API methods still results in an error.

Please remove this restriction in the next driver release!

In the meantime, I know it's possible to set the voltage via i2c: https://github.com/ius/radeonvolt

Unfortunately, this only works on reference cards. I'm attempting to port this tool to use the i2c API provided by ADL, however, there is very little documentation available.

Thanks to AghaJan for documenting the iLine parameter: http://forums.amd.com/devforum/messageview.cfm?catid=347&threadid=144777

Can anyone point me at more information? I've tried various combinations of parameters with no success. Here's what I've got so far (attempting to read core voltage).


i2c_data = ADLI2C() i2c_data.iSize = sizeof(i2c_data) i2c_data.iLine = ADL_DL_I2C_LINE_OD_CONTROL i2c_data.iAddress = 0x70 << 1 # address from radeonvolt project, left-shifted ??? i2c_data.iOffset = 0x15 + 2 # offset from radeonvolt project ??? i2c_data.iAction = ADL_DL_I2C_ACTIONREAD i2c_data.iSpeed = 10 # from a forum post, ??? i2c_data.iDataSize = 1 i2c_data.pcData = c_char_p("\0")