Documentation for RGB strip on RX 7900 XTX (Reference)

Alexander Koskovich AKoskovich at protonmail.com
Tue Jan 9 00:22:16 UTC 2024


Currently the reference cooler from AMD does not have an existing RGB controller for OpenRGB, that's why I was looking for documentation on the I2C commands to send to the second SMU, so I don't risk bricking my card by sending wrong commands during development somehow.

writeSetCMDWithData:
**************************************************************
adli2c.iSize = sizeof(ADLI2C)
adli2c.iAction = ADL_DL_I2C_ACTIONWRITE
adli2c.iAddress = 0xb4
adli2c.iSpeed = 100
0 --------------------------------------------------
Dev 0: ADL_Display_WriteAndReadSMUI2C(0, &adli2c) = 0
adli2c.iDataSize = 24
i2cData[0]~[24]
40 51 2c 01 00 00 ff 00 ff ff ff cc 00 cc 00 00 00 ff ff ff ff ff ff ff

>From the RGB app's logs this is an example of what the official AMD application on Windows is sending when it changes colors on the RGB strip.

>From this can it be assumed the AMD card is using the latter method you mentioned with the second SMU I2C bus, in which case no driver changes would be needed?


On Monday, January 8th, 2024 at 5:32 PM, Deucher, Alexander <Alexander.Deucher at amd.com> wrote:


> 
> 
> [Public]
> 
> > -----Original Message-----
> > From: amd-gfx amd-gfx-bounces at lists.freedesktop.org On Behalf Of
> > Alexander Koskovich
> > Sent: Sunday, January 7, 2024 11:19 PM
> > To: amd-gfx at lists.freedesktop.org
> > Subject: Documentation for RGB strip on RX 7900 XTX (Reference)
> > 
> > Hello,
> > 
> > I was wondering if AMD would be able provide any documentation for the
> > RGB strip on the reference cooler
> > (https://www.amd.com/en/products/graphics/amd-radeon-rx-7900xtx)? It
> > looks to be handled via I2C commands to the SMU, but having proper
> > documentation would be extremely helpful.
> 
> 
> It depends on the AIB/OEM and how they designed the specific board. The RGB controller will either be attached to the DDCVGA i2c bus on the display hardware or the second SMU i2c bus. The former will require changes to the amdgpu display code to register display i2c buses that are not used by the display connectors on the board so they can be used by 3rd party applications. Currently we only register i2c buses used for display connectors. The latter buses are already registered with the i2c subsystem since they are used for other things like EEPROMs on server and workstation cards and should be available via standard Linux i2c APIs. I'm not sure what i2c LED controllers each AIB vendor uses off hand. https://openrgb.org/index.html would probably be a good resource for that information.
> 
> Alex


More information about the amd-gfx mailing list