[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 07/17] hw/acpi/aml-build: add function for i2c slave device s
From: |
Jonathan Cameron |
Subject: |
[RFC PATCH 07/17] hw/acpi/aml-build: add function for i2c slave device serial bus description |
Date: |
Mon, 17 Jul 2023 18:16:36 +0100 |
Needed for later patches that add MCTP over I2C support to both
x86 and ARM boards.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
---
include/hw/acpi/aml-build.h | 1 +
hw/acpi/aml-build.c | 17 +++++++++++++++++
2 files changed, 18 insertions(+)
diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h
index fc2b949fb5..28db028b17 100644
--- a/include/hw/acpi/aml-build.h
+++ b/include/hw/acpi/aml-build.h
@@ -382,6 +382,7 @@ Aml *aml_dma(AmlDmaType typ, AmlDmaBusMaster bm,
AmlTransferSize sz,
uint8_t channel);
Aml *aml_sleep(uint64_t msec);
Aml *aml_i2c_serial_bus_device(uint16_t address, const char *resource_source);
+Aml *aml_i2c_slv_serial_bus_device(uint16_t address, const char
*resource_source);
/* Block AML object primitives */
Aml *aml_scope(const char *name_format, ...) G_GNUC_PRINTF(1, 2);
diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
index 918cbb5b9d..22d7ecd753 100644
--- a/hw/acpi/aml-build.c
+++ b/hw/acpi/aml-build.c
@@ -2478,3 +2478,20 @@ Aml *aml_i2c_serial_bus_device(uint16_t address, const
char *resource_source)
return var;
}
+
+/* ACPI 5.0: 6.4.3.8.2.1 I2C Serial Bus Connection Resource Descriptor */
+Aml *aml_i2c_slv_serial_bus_device(uint16_t address, const char
*resource_source)
+{
+ uint16_t resource_source_len = strlen(resource_source) + 1;
+ Aml *var = aml_serial_bus_device(AML_SERIAL_BUS_TYPE_I2C, 1, 0, 1,
+ 6, resource_source_len);
+
+ /* Connection Speed. Just set to 100K for now, it doesn't really matter.
*/
+ build_append_int_noprefix(var->buf, 100000, 4);
+ build_append_int_noprefix(var->buf, address, sizeof(address));
+
+ /* This is a string, not a name, so just copy it directly in. */
+ g_array_append_vals(var->buf, resource_source, resource_source_len);
+
+ return var;
+}
--
2.39.2
- [RFC PATCH 00/17] hw/cxl: hw/cxl: Generic CCI emulation support, Jonathan Cameron, 2023/07/17
- [RFC PATCH 01/17] hw/pci-bridge/cxl_upstream: Move defintion of device to header., Jonathan Cameron, 2023/07/17
- [RFC PATCH 02/17] hw/cxl/mailbox: Enable mulitple mailbox command sets, Jonathan Cameron, 2023/07/17
- [RFC PATCH 03/17] cxl/mbox: Pull the payload out of struct cxl_cmd and make instances constant, Jonathan Cameron, 2023/07/17
- [RFC PATCH 04/17] hw/mbox: Split mailbox command payload into separate input and output, Jonathan Cameron, 2023/07/17
- [RFC PATCH 05/17] cxl/mbox: Pull the CCI definition out of the CXLDeviceState, Jonathan Cameron, 2023/07/17
- [RFC PATCH 06/17] cxl/mbox: Generalize the CCI command processing, Jonathan Cameron, 2023/07/17
- [RFC PATCH 07/17] hw/acpi/aml-build: add function for i2c slave device serial bus description,
Jonathan Cameron <=
- [RFC PATCH 08/17] hw/i2c: add mctp core, Jonathan Cameron, 2023/07/17
- [RFC PATCH 09/17] i2c/mctp: Allow receiving messages to dest eid 0, Jonathan Cameron, 2023/07/17
- [RFC PATCH 10/17] misc/i2c_mctp_cxl: Initial device emulation, Jonathan Cameron, 2023/07/17
[RFC PATCH 11/17] HACK: arm/virt: Add aspeed-i2c controller and MCTP EP to enable MCTP testing, Jonathan Cameron, 2023/07/17
[RFC PATCH 12/17] HACK: hw/arm/virt: Add ACPI support for aspeed-i2c / mctp, Jonathan Cameron, 2023/07/17