Overclock.net - An Overclocking Community - View Single Post - Would appreciate help in finding / editing the voltage offset in the RX480 Bios

View Single Post
post #75 of (permalink) Old 04-20-2017, 10:54 AM
gupsterg
Meddling user
 
gupsterg's Avatar
 
Join Date: Jan 2015
Location: Lurking over a keyboard
Posts: 6,733
Rep: 730 (Unique: 342)
Sorry can not help much, this is I have from past research

Example VoltageObjectInfo table:-
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  78 00 03 01 01 03 16 00 08 96 60 00 00 00 00 00  x........–`.....
00000010  32 00 BC 00 26 00 60 00 FF 00 01 07 0C 00 0A 00  2.¼.&.`.ÿ.......
00000020  00 00 00 00 00 00 04 07 0C 00 0E 00 00 00 00 00  ................
00000030  00 00 02 00 24 00 00 04 00 00 00 80 10 00 00 00  ....$......€....
00000040  00 00 1E 05 00 00 10 00 46 05 00 80 00 00 DC 05  ........F..€..Ü.
00000050  00 80 10 00 0E 06 06 03 22 00 0C 96 A6 00 00 00  .€......"..–¦...
00000060  00 00 D4 00 A2 00 D5 00 A2 00 D6 00 A2 00 D7 00  ..Ô.¢.Õ.¢.Ö.¢.×.
00000070  A2 00 D3 00 40 00 FF 00                          ¢.Ó[email protected]ÿ.

USHORT  usStructureSize         :       78 00
UCHAR   ucTableFormatRevision   :       03
UCHAR   ucTableContentRevision  :       01
UCHAR   ucVoltageType           :       01      (VDDC)
UCHAR   ucVoltageMode           :       03      (VOLTAGE_OBJ_VR_I2C_INIT_SEQ)
USHORT  usSize                  :       16 00   (size of object from ucVoltageType & end with "FF 00", also use as a pointer to the last I2C value)
UCHAR   ucVoltageRegulatorId    :       08      //Indicate Voltage Regulator Id
UCHAR   ucVoltageControlI2cLine :       96
UCHAR   ucVoltageControlAddress :       60
UCHAR   ucVoltageControlOffset  :       00
UCHAR   ucVoltageControlFlag    :       00      // Bit0: 0 - One byte data; 1 - Two byte data
UCHAR   ulReserved[3]           :       00 00 00

USHORT  usVoltageCode           :       32 00              // The I2C code                 |
USHORT  usVoltageValue          :       BC 00             // The corresponding I2C value  |--> asVolI2cLut[1];         // end with 0xff

Then it will repeat like this till FF 00
Code:
USHORT  usVoltageCode           :       32 00              // The I2C code                 |
USHORT  usVoltageValue          :       BC 00             // The corresponding I2C value  |--> asVolI2cLut[1];         
USHORT  usVoltageCode           :       26 00              // The I2C code                 |
USHORT  usVoltageValue          :       60 00             // The corresponding I2C value  |--> asVolI2cLut[1];         // end with 0xff

That is all I know ....

Search things like :-

https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/radeon/atombios.h
https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/radeon/pptable.h
https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/include/atombios.h

"We" were doing things like this for hours/days for Hawaii bios mod ....
gupsterg is offline