Add ISL69269 Voltage Regulator support
The configuration of the voltage regulator relies on the EM-Schema[1]
1: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/79823
Tested:
```
<7> Requesting Image update with 10
<7> started asynchronous update with fd 10
<7> starting async update with FD: 11
<7> Harme_MB_VR_CPU0_VCORE0_5813: created dbus interfaces on path /xyz/openbmc_project/software/Harme_MB_VR_CPU0_VCORE0_5813
<7> starting the async update with memfd 11
<7> open fd 11
<7> file size: 7646
<7> parsing package header
<7> parsing package, pkg header size: 152
<7> Harme_MB_VR_CPU0_VCORE0_5813: set version 99A5A351
<7> device id from configuration: 0x49d29b00
<7> device revision from config: 0x7000000
<7> Production hex file format recognized
<7> Config ID: 0
<7> Config Production CRC: 0x99a5a351
<7> Device revision read from device: 0x6000100
<7> Production mode revision checks out
<6> Successfully updated VR Harme_MB_VR_CPU0_VCORE0
<7> Default implementation for device reset
<7> Harme_MB_VR_CPU0_VCORE0_5813: setting association definitions
<7> inventory item at path /xyz/openbmc_project/inventory/system/board/BMC_Storage_Module
<7> inventory item at path /xyz/openbmc_project/inventory/system/board/CB
<7> inventory item at path /xyz/openbmc_project/inventory/system/board/Harma_Fan_Board_0
<7> inventory item at path /xyz/openbmc_project/inventory/system/board/Harma_Fan_Board_1
<7> inventory item at path /xyz/openbmc_project/inventory/system/board/Harma_MB
<7> found associated inventory item for Harme_MB_VR_CPU0_VCORE0: /xyz/openbmc_project/inventory/system/board/Harma_MB
<7> Harme_MB_VR_CPU0_VCORE0_5813: creating 'running' association to /xyz/openbmc_project/inventory/system/board/Harma_MB
<7> [Software] enabling update of /xyz/openbmc_project/software/Harme_MB_VR_CPU0_VCORE0_5813 (adding the update interface)
<7> Successfully updated to software version Harme_MB_VR_CPU0_VCORE0_5813
```
Change-Id: Ia7d7b19066cd2a55748eeffacc18e7d6c78ca797
Signed-off-by: Christopher Meis <christopher.meis@9elements.com>
diff --git a/i2c-vr/vr.cpp b/i2c-vr/vr.cpp
index f7c7c0f..7280f91 100644
--- a/i2c-vr/vr.cpp
+++ b/i2c-vr/vr.cpp
@@ -1,5 +1,6 @@
#include "vr.hpp"
+#include "isl69269/isl69269.hpp"
#include "xdpe1x2xx/xdpe1x2xx.hpp"
#include <map>
@@ -17,6 +18,9 @@
case VRType::XDPE1X2XX:
ret = std::make_unique<XDPE1X2XX>(ctx, bus, address);
break;
+ case VRType::ISL69269:
+ ret = std::make_unique<ISL69269>(ctx, bus, address);
+ break;
default:
return NULL;
}
@@ -27,6 +31,7 @@
{
std::map<std::string, enum VRType> VRTypeToString{
{"XDPE1X2XXFirmware", VRType::XDPE1X2XX},
+ {"ISL69269Firmware", VRType::ISL69269},
};
if (VRTypeToString.contains(vrStr))