From 20822836465835c45df2955b46e6759b124d0cdc Mon Sep 17 00:00:00 2001 From: Fn Eh Date: Thu, 10 Aug 2023 16:59:40 +0000 Subject: [PATCH] Adds support for three additional Zotac card... --- .../RGBController_ZotacV2GPU.cpp | 4 ++- .../ZotacV2GPUController.cpp | 11 +------ .../ZotacV2GPUControllerDetect.cpp | 30 ++++++++++++------- pci_ids/pci_ids.h | 3 ++ 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/Controllers/ZotacV2GPUController/RGBController_ZotacV2GPU.cpp b/Controllers/ZotacV2GPUController/RGBController_ZotacV2GPU.cpp index 93804c9d..8c2284ae 100644 --- a/Controllers/ZotacV2GPUController/RGBController_ZotacV2GPU.cpp +++ b/Controllers/ZotacV2GPUController/RGBController_ZotacV2GPU.cpp @@ -14,10 +14,12 @@ std::map ZOTAC_V2_GPU_CONFIG = { { "N653E-1013", { 2, false } }, // ZOTAC GAMING GeForce RTX 3070 Ti Trinity OC + { "N612E-1011", { 2, false } }, // ZOTAC GAMING GeForce RTX 3080 Trinity OC LHR 12GB { "N612A-1012", { 2, false } }, // ZOTAC GAMING GeForce RTX 3080 Ti AMP Holo { "N618A-1015", { 4, true } }, // ZOTAC GAMING GeForce RTX 3090 AMP Extreme Holo + { "N696E-1040", { 1, false } }, // ZOTAC GAMING GeForce RTX 4070 Ti Trinity OC { "N675E-1019", { 1, true } }, // ZOTAC GAMING GeForce RTX 4090 Trinity OC - { "N675A-1019", { 5, true } }, // ZOTAC GAMING GeForce RTX 4090 AMP Extreme AIRO + { "N675A-1019", { 5, true } }, // ZOTAC GAMING GeForce RTX 4090 AMP Extreme AIRO & 4080 16GB AMP Extreme AIRO }; std::vector> ZOTAC_V2_GPU_DUET_PRESETS = diff --git a/Controllers/ZotacV2GPUController/ZotacV2GPUController.cpp b/Controllers/ZotacV2GPUController/ZotacV2GPUController.cpp index 5f1335d1..b8a83fc7 100644 --- a/Controllers/ZotacV2GPUController/ZotacV2GPUController.cpp +++ b/Controllers/ZotacV2GPUController/ZotacV2GPUController.cpp @@ -56,6 +56,7 @@ bool ZotacV2GPUController::ReadVersion() } version = std::string((char*)rdata_pkt); + return true; } @@ -158,16 +159,6 @@ bool ZotacV2GPUController::SendCommand(bool on, bool reset, int zone, int idleAc (u8)RGBGetGValue(zoneConfig.color2), (u8)RGBGetBValue(zoneConfig.color2), (u8)zoneConfig.colorPreset, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, }; if(bus->i2c_write_block(dev, sizeof(data_pkt), data_pkt) < 0) diff --git a/Controllers/ZotacV2GPUController/ZotacV2GPUControllerDetect.cpp b/Controllers/ZotacV2GPUController/ZotacV2GPUControllerDetect.cpp index 5a62ca16..0c25b6d5 100644 --- a/Controllers/ZotacV2GPUController/ZotacV2GPUControllerDetect.cpp +++ b/Controllers/ZotacV2GPUController/ZotacV2GPUControllerDetect.cpp @@ -19,18 +19,26 @@ void DetectZotacV2GPUControllers(i2c_smbus_interface* bus, u8 i2c_addr, const std::string& name) { - ZotacV2GPUController* controller = new ZotacV2GPUController(bus, i2c_addr); - RGBController_ZotacV2GPU* rgb_controller = new RGBController_ZotacV2GPU(controller); - rgb_controller->name = name; - - if(rgb_controller->config.numberOfZones > 0) + u8 rdata_pkt[I2C_SMBUS_BLOCK_MAX] = { 0x00 }; + int rdata_len = sizeof(rdata_pkt); + if(bus->i2c_read_block(i2c_addr, &rdata_len, rdata_pkt) >= 0) { - ResourceManager::get()->RegisterRGBController(rgb_controller); + ZotacV2GPUController* controller = new ZotacV2GPUController(bus, i2c_addr); + RGBController_ZotacV2GPU* rgb_controller = new RGBController_ZotacV2GPU(controller); + rgb_controller->name = name; + + if(rgb_controller->config.numberOfZones > 0) + { + ResourceManager::get()->RegisterRGBController(rgb_controller); + } } } -REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 3070 Ti Trinity OC", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX3070TI_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX3070TI_TRINITY_SUB_DEV, 0x49); -REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 3080 Ti AMP Holo", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX3080TI_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX3080TI_AMP_SUB_DEV, 0x49); -REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 3090 AMP Extreme Holo", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX3090_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX3090_AMP_SUB_DEV, 0x49); -REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 4090 Trinity OC", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX4090_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX4090_TRINITY_SUB_DEV, 0x49); -REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 4090 AMP Extreme AIRO", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX4090_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX4090_AMP_SUB_DEV, 0x49); +REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 3070 Ti Trinity OC", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX3070TI_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX3070TI_TRINITY_SUB_DEV, 0x49); +REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 3080 Trinity OC LHR 12GB", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX3080_12G_LHR_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX3080_12G_LHR_TRINITY_SUB_DEV, 0x49); +REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 3080 Ti AMP Holo", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX3080TI_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX3080TI_AMP_SUB_DEV, 0x49); +REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 3090 AMP Extreme Holo", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX3090_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX3090_AMP_SUB_DEV, 0x49); +REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 4070 Ti Trinity OC", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX4070TI_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX4070TI_TRINITY_SUB_DEV, 0x49); +REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 4080 16GB AMP Extreme AIRO", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX4080_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX4080_AMP_SUB_DEV, 0x49); +REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 4090 Trinity OC", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX4090_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX4090_TRINITY_SUB_DEV, 0x49); +REGISTER_I2C_PCI_DETECTOR("ZOTAC GAMING GeForce RTX 4090 AMP Extreme AIRO", DetectZotacV2GPUControllers, NVIDIA_VEN, NVIDIA_RTX4090_DEV, ZOTAC_SUB_VEN, ZOTAC_RTX4090_AMP_SUB_DEV, 0x49); diff --git a/pci_ids/pci_ids.h b/pci_ids/pci_ids.h index 78a843ff..4dd409e2 100644 --- a/pci_ids/pci_ids.h +++ b/pci_ids/pci_ids.h @@ -637,8 +637,11 @@ #define ZOTAC_RTX2070S_GAMING_SUB_DEV 0x7500 #define ZOTAC_RTX2080_AMP_SUB_DEV 0x3500 #define ZOTAC_RTX3070TI_TRINITY_SUB_DEV 0x1653 +#define ZOTAC_RTX3080_12G_LHR_TRINITY_SUB_DEV 0xB612 #define ZOTAC_RTX3080TI_AMP_SUB_DEV 0x2612 #define ZOTAC_RTX3090_AMP_SUB_DEV 0x1619 +#define ZOTAC_RTX4070TI_TRINITY_SUB_DEV 0x1696 +#define ZOTAC_RTX4080_AMP_SUB_DEV 0x1688 #define ZOTAC_RTX4090_TRINITY_SUB_DEV 0x3675 #define ZOTAC_RTX4090_AMP_SUB_DEV 0x4675