From: Adam Honse <calcprogramm...@gmail.com>

[ Upstream commit f27237c174fd9653033330e4e532cd9d153ce824 ]

The AMD X370 and other AM4 chipsets (A/B/X 3/4/5 parts) and Threadripper
equivalents have a secondary SMBus controller at I/O port address
0x0B20.  This bus is used by several manufacturers to control
motherboard RGB lighting via embedded controllers.  I have been using
this bus in my OpenRGB project to control the Aura RGB on many
motherboards and ASRock also uses this bus for their Polychrome RGB
controller.

I am not aware of any CZ-compatible platforms which do not have the
second SMBus channel.  All of AMD's AM4- and Threadripper- series
chipsets that OpenRGB users have tested appear to have this secondary
bus.  I also noticed this secondary bus is present on older AMD
platforms including my FM1 home server.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=202587
Signed-off-by: Adam Honse <calcprogramm...@gmail.com>
Reviewed-by: Jean Delvare <jdelv...@suse.de>
Reviewed-by: Sebastian Reichel <sebastian.reic...@collabora.com>
Tested-by: Sebastian Reichel <sebastian.reic...@collabora.com>
Signed-off-by: Wolfram Sang <w...@the-dreams.de>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/i2c/busses/i2c-piix4.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c
index 30ded6422e7b..69740a4ff1db 100644
--- a/drivers/i2c/busses/i2c-piix4.c
+++ b/drivers/i2c/busses/i2c-piix4.c
@@ -977,7 +977,8 @@ static int piix4_probe(struct pci_dev *dev, const struct 
pci_device_id *id)
        }
 
        if (dev->vendor == PCI_VENDOR_ID_AMD &&
-           dev->device == PCI_DEVICE_ID_AMD_HUDSON2_SMBUS) {
+           (dev->device == PCI_DEVICE_ID_AMD_HUDSON2_SMBUS ||
+            dev->device == PCI_DEVICE_ID_AMD_KERNCZ_SMBUS)) {
                retval = piix4_setup_sb800(dev, id, 1);
        }
 
-- 
2.25.1

Reply via email to