[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 08/14] hw/i2c/pmbus: Add idle state to return 0xff's
From: |
Peter Delevoryas |
Subject: |
[PATCH v3 08/14] hw/i2c/pmbus: Add idle state to return 0xff's |
Date: |
Wed, 29 Jun 2022 21:51:27 -0700 |
From: Peter Delevoryas <pdel@fb.com>
Signed-off-by: Peter Delevoryas <pdel@fb.com>
---
hw/i2c/pmbus_device.c | 9 +++++++++
include/hw/i2c/pmbus_device.h | 7 +++++++
2 files changed, 16 insertions(+)
diff --git a/hw/i2c/pmbus_device.c b/hw/i2c/pmbus_device.c
index 62885fa6a1..f89fea65f3 100644
--- a/hw/i2c/pmbus_device.c
+++ b/hw/i2c/pmbus_device.c
@@ -261,6 +261,11 @@ void pmbus_check_limits(PMBusDevice *pmdev)
}
}
+void pmbus_idle(PMBusDevice *pmdev)
+{
+ pmdev->code = PMBUS_IDLE_STATE;
+}
+
/* assert the status_cml error upon receipt of malformed command */
static void pmbus_cml_error(PMBusDevice *pmdev)
{
@@ -984,6 +989,10 @@ static uint8_t pmbus_receive_byte(SMBusDevice *smd)
}
break;
+ case PMBUS_IDLE_STATE:
+ pmbus_send8(pmdev, PMBUS_ERR_BYTE);
+ break;
+
case PMBUS_CLEAR_FAULTS: /* Send Byte */
case PMBUS_PAGE_PLUS_WRITE: /* Block Write-only */
case PMBUS_STORE_DEFAULT_ALL: /* Send Byte */
diff --git a/include/hw/i2c/pmbus_device.h b/include/hw/i2c/pmbus_device.h
index 0f4d6b3fad..93f5d57c9d 100644
--- a/include/hw/i2c/pmbus_device.h
+++ b/include/hw/i2c/pmbus_device.h
@@ -155,6 +155,7 @@ enum pmbus_registers {
PMBUS_MFR_MAX_TEMP_1 = 0xC0, /* R/W word */
PMBUS_MFR_MAX_TEMP_2 = 0xC1, /* R/W word */
PMBUS_MFR_MAX_TEMP_3 = 0xC2, /* R/W word */
+ PMBUS_IDLE_STATE = 0xFF,
};
/* STATUS_WORD */
@@ -527,6 +528,12 @@ int pmbus_page_config(PMBusDevice *pmdev, uint8_t
page_index, uint64_t flags);
*/
void pmbus_check_limits(PMBusDevice *pmdev);
+/**
+ * Enter an idle state where only the PMBUS_ERR_BYTE will be returned
+ * indefinitely until a new command is issued.
+ */
+void pmbus_idle(PMBusDevice *pmdev);
+
extern const VMStateDescription vmstate_pmbus_device;
#define VMSTATE_PMBUS_DEVICE(_field, _state) { \
--
2.37.0
- [PATCH v3 00/14] hw/i2c/aspeed: I2C slave mode DMA RX w/ new regs, Peter Delevoryas, 2022/06/30
- [PATCH v3 01/14] hw/i2c/aspeed: Fix R_I2CD_FUN_CTRL reference, Peter Delevoryas, 2022/06/30
- [PATCH v3 02/14] hw/i2c/aspeed: Fix DMA len write-enable bit handling, Peter Delevoryas, 2022/06/30
- [PATCH v3 03/14] hw/i2c/aspeed: Fix MASTER_EN missing error message, Peter Delevoryas, 2022/06/30
- [PATCH v3 04/14] hw/i2c: support multiple masters, Peter Delevoryas, 2022/06/30
- [PATCH v3 05/14] hw/i2c: add asynchronous send, Peter Delevoryas, 2022/06/30
- [PATCH v3 06/14] hw/i2c/aspeed: add slave device in old register mode, Peter Delevoryas, 2022/06/30
- [PATCH v3 07/14] hw/i2c/aspeed: Add new-registers DMA slave mode RX support, Peter Delevoryas, 2022/06/30
- [PATCH v3 08/14] hw/i2c/pmbus: Add idle state to return 0xff's,
Peter Delevoryas <=
- [PATCH v3 09/14] hw/sensor: Add IC_DEVICE_ID to ISL voltage regulators, Peter Delevoryas, 2022/06/30
- [PATCH v3 10/14] hw/sensor: Add Renesas ISL69259 device model, Peter Delevoryas, 2022/06/30
- [PATCH v3 11/14] hw/misc/aspeed: Add PECI controller, Peter Delevoryas, 2022/06/30