[Public] > -----Original Message----- > From: Alexander Koskovich <AKoskovich@xxxxxxxxxxxxxx> > Sent: Monday, January 8, 2024 7:22 PM > To: Deucher, Alexander <Alexander.Deucher@xxxxxxx> > Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > 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@xxxxxxx> wrote: > > > > > > > > [Public] > > > > > -----Original Message----- > > > From: amd-gfx amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx On Behalf Of > > > Alexander Koskovich > > > Sent: Sunday, January 7, 2024 11:19 PM > > > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > > > 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