summary refs log tree commit diff stats
path: root/hw/i2c
diff options
context:
space:
mode:
authorTitus Rwantare <titusr@google.com>2023-10-23 23:46:43 +0000
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2023-11-07 13:08:49 +0100
commit3401b1dd1a947256dcfa5494642dfb46c16c47c2 (patch)
treec07d9e790efd49a3417b886d2817d4e852f8659e /hw/i2c
parentb7fba25ef1f32bfe92d9fcc73f297b2ce58fee9e (diff)
downloadfocaccia-qemu-3401b1dd1a947256dcfa5494642dfb46c16c47c2.tar.gz
focaccia-qemu-3401b1dd1a947256dcfa5494642dfb46c16c47c2.zip
hw/i2c: pmbus: add VCAP register
VCAP is a register for devices with energy storage capacitors.

Reviewed-by: Benjamin Streb <bstreb@google.com>
Acked-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Titus Rwantare <titusr@google.com>
Message-ID: <20231023-staging-pmbus-v3-v4-4-07a8cb7cd20a@google.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'hw/i2c')
-rw-r--r--hw/i2c/pmbus_device.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/i2c/pmbus_device.c b/hw/i2c/pmbus_device.c
index c1d8c93056..3bce39e84e 100644
--- a/hw/i2c/pmbus_device.c
+++ b/hw/i2c/pmbus_device.c
@@ -906,6 +906,14 @@ static uint8_t pmbus_receive_byte(SMBusDevice *smd)
         }
         break;
 
+    case PMBUS_READ_VCAP:                 /* Read-Only word */
+        if (pmdev->pages[index].page_flags & PB_HAS_VCAP) {
+            pmbus_send16(pmdev, pmdev->pages[index].read_vcap);
+        } else {
+            goto passthough;
+        }
+        break;
+
     case PMBUS_READ_VOUT:                 /* Read-Only word */
         if (pmdev->pages[index].page_flags & PB_HAS_VOUT) {
             pmbus_send16(pmdev, pmdev->pages[index].read_vout);