Documentation for RGB strip on RX 7900 XTX (Reference)

Deucher, Alexander Alexander.Deucher at amd.com
Tue Jan 9 15:10:30 UTC 2024


[Public]

> -----Original Message-----
> From: Alexander Koskovich <AKoskovich at protonmail.com>
> Sent: Monday, January 8, 2024 7:22 PM
> To: Deucher, Alexander <Alexander.Deucher at amd.com>
> Cc: amd-gfx at lists.freedesktop.org
> Subject: RE: Documentation for RGB strip on RX 7900 XTX (Reference)
>
> 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?


IIRC, each AIB/OEM uses its own preferred RGB controller.  The reference board just defines which i2c buses can be used.  The RGB control application is just a userspace app provided by the AIB/OEM that calls ADL to talk to whichever i2c bus the vendor put their RGB controller on.  On Linux you can do something similar using the i2c_dev module to open a connection to the i2c bus driver provided by the kernel.  I believe that is what openRGB does today.  It looks like you already have the programming sequence above.

Alex

>
>
> 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