[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 12/21] aspeed/i2c: Add ast1030 controller models
From: |
Cédric Le Goater |
Subject: |
[PATCH 12/21] aspeed/i2c: Add ast1030 controller models |
Date: |
Mon, 6 Jun 2022 17:07:23 +0200 |
Based on :
https://lists.nongnu.org/archive/html/qemu-devel/2022-03/msg06017.html
Cc: Troy Lee <troy_lee@aspeedtech.com>
Cc: Jamin Lin <jamin_lin@aspeedtech.com>
Cc: Steven Lee <steven_lee@aspeedtech.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
include/hw/i2c/aspeed_i2c.h | 1 +
hw/i2c/aspeed_i2c.c | 24 ++++++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/include/hw/i2c/aspeed_i2c.h b/include/hw/i2c/aspeed_i2c.h
index 506bcf1a9daf..79c6779c6c1e 100644
--- a/include/hw/i2c/aspeed_i2c.h
+++ b/include/hw/i2c/aspeed_i2c.h
@@ -30,6 +30,7 @@
#define TYPE_ASPEED_2400_I2C TYPE_ASPEED_I2C "-ast2400"
#define TYPE_ASPEED_2500_I2C TYPE_ASPEED_I2C "-ast2500"
#define TYPE_ASPEED_2600_I2C TYPE_ASPEED_I2C "-ast2600"
+#define TYPE_ASPEED_1030_I2C TYPE_ASPEED_I2C "-ast1030"
OBJECT_DECLARE_TYPE(AspeedI2CState, AspeedI2CClass, ASPEED_I2C)
#define ASPEED_I2C_NR_BUSSES 16
diff --git a/hw/i2c/aspeed_i2c.c b/hw/i2c/aspeed_i2c.c
index 8425e928890a..5fce516517a5 100644
--- a/hw/i2c/aspeed_i2c.c
+++ b/hw/i2c/aspeed_i2c.c
@@ -1185,6 +1185,29 @@ static const TypeInfo aspeed_2600_i2c_info = {
.class_init = aspeed_2600_i2c_class_init,
};
+static void aspeed_1030_i2c_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ AspeedI2CClass *aic = ASPEED_I2C_CLASS(klass);
+
+ dc->desc = "ASPEED 1030 I2C Controller";
+
+ aic->num_busses = 14;
+ aic->reg_size = 0x80;
+ aic->gap = -1; /* no gap */
+ aic->bus_get_irq = aspeed_2600_i2c_bus_get_irq;
+ aic->pool_size = 0x200;
+ aic->pool_base = 0xC00;
+ aic->bus_pool_base = aspeed_2600_i2c_bus_pool_base;
+ aic->has_dma = true;
+}
+
+static const TypeInfo aspeed_1030_i2c_info = {
+ .name = TYPE_ASPEED_1030_I2C,
+ .parent = TYPE_ASPEED_I2C,
+ .class_init = aspeed_1030_i2c_class_init,
+};
+
static void aspeed_i2c_register_types(void)
{
type_register_static(&aspeed_i2c_bus_info);
@@ -1192,6 +1215,7 @@ static void aspeed_i2c_register_types(void)
type_register_static(&aspeed_2400_i2c_info);
type_register_static(&aspeed_2500_i2c_info);
type_register_static(&aspeed_2600_i2c_info);
+ type_register_static(&aspeed_1030_i2c_info);
}
type_init(aspeed_i2c_register_types)
--
2.35.3
- Re: [PATCH 04/21] aspeed: i2c: Use reg array instead of individual vars, (continued)
- [PATCH 06/21] aspeed: i2c: Add PKT_DONE IRQ to trace, Cédric Le Goater, 2022/06/06
- [PATCH 05/21] aspeed: i2c: Add new mode support, Cédric Le Goater, 2022/06/06
- [PATCH 07/21] aspeed: i2c: Move regs and helpers to header file, Cédric Le Goater, 2022/06/06
- [PATCH 08/21] test/avocado/machine_aspeed.py: Move OpenBMC tests, Cédric Le Goater, 2022/06/06
- [PATCH 09/21] test/avocado/machine_aspeed.py: Add tests using buildroot images, Cédric Le Goater, 2022/06/06
- [PATCH 10/21] test/avocado/machine_aspeed.py: Add I2C tests to ast2600-evb, Cédric Le Goater, 2022/06/06
- [PATCH 11/21] test/avocado/machine_aspeed.py: Add an I2C RTC test, Cédric Le Goater, 2022/06/06
- [PATCH 12/21] aspeed/i2c: Add ast1030 controller models,
Cédric Le Goater <=
- [PATCH 13/21] aspeed: Add I2C buses to AST1030 model, Cédric Le Goater, 2022/06/06
- [PATCH 14/21] hw/i2c/aspeed: rework raise interrupt trace event, Cédric Le Goater, 2022/06/06
- [PATCH 15/21] hw/i2c/aspeed: add DEV_ADDR in old register mode, Cédric Le Goater, 2022/06/06
- [PATCH 16/21] hw/i2c: support multiple masters, Cédric Le Goater, 2022/06/06
- [PATCH 17/21] hw/i2c: add asynchronous send, Cédric Le Goater, 2022/06/06
- [PATCH 18/21] hw/i2c/aspeed: add slave device in old register mode, Cédric Le Goater, 2022/06/06
- [PATCH 19/21] aspeed/i2c: Enable SLAVE_ADDR_RX_MATCH always, Cédric Le Goater, 2022/06/06