[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [PATCH v5 4/8] aspeed: add an I2C RTC device to all machines
From: |
Cédric Le Goater |
Subject: |
[Qemu-arm] [PATCH v5 4/8] aspeed: add an I2C RTC device to all machines |
Date: |
Thu, 19 Oct 2017 17:12:45 +0200 |
The AST2500 EVB does not have an RTC but we can pretend that one is
plugged on the I2C bus header.
The romulus and witherspoon boards expects an Epson RX8900 I2C RTC but
a ds1338 is good enough for the basic features we need.
Signed-off-by: Cédric Le Goater <address@hidden>
Reviewed-by: Andrew Jeffery <address@hidden>
---
hw/arm/aspeed.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index f2fc9884dba6..f0a440f81fd6 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -89,6 +89,7 @@ enum {
static void palmetto_bmc_i2c_init(AspeedBoardState *bmc);
static void ast2500_evb_i2c_init(AspeedBoardState *bmc);
+static void romulus_bmc_i2c_init(AspeedBoardState *bmc);
static void witherspoon_bmc_i2c_init(AspeedBoardState *bmc);
static const AspeedBoardConfig aspeed_boards[] = {
@@ -114,6 +115,7 @@ static const AspeedBoardConfig aspeed_boards[] = {
.fmc_model = "n25q256a",
.spi_model = "mx66l1g45g",
.num_cs = 2,
+ .i2c_init = romulus_bmc_i2c_init,
},
[WITHERSPOON_BMC] = {
.soc_name = "ast2500-a1",
@@ -315,6 +317,10 @@ static void ast2500_evb_i2c_init(AspeedBoardState *bmc)
/* The AST2500 EVB expects a LM75 but a TMP105 is compatible */
i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 7), "tmp105", 0x4d);
+
+ /* The AST2500 EVB does not have an RTC. Let's pretend that one is
+ * plugged on the I2C bus header */
+ i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), "ds1338",
0x32);
}
static void ast2500_evb_init(MachineState *machine)
@@ -341,6 +347,15 @@ static const TypeInfo ast2500_evb_type = {
.class_init = ast2500_evb_class_init,
};
+static void romulus_bmc_i2c_init(AspeedBoardState *bmc)
+{
+ AspeedSoCState *soc = &bmc->soc;
+
+ /* The romulus board expects Epson RX8900 I2C RTC but a ds1338 is
+ * good enough */
+ i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), "ds1338",
0x32);
+}
+
static void romulus_bmc_init(MachineState *machine)
{
aspeed_board_init(machine, &aspeed_boards[ROMULUS_BMC]);
@@ -374,6 +389,10 @@ static void witherspoon_bmc_i2c_init(AspeedBoardState *bmc)
/* The Witherspoon expects a TMP275 but a TMP105 is compatible */
i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 9), "tmp105", 0x4a);
+
+ /* The witherspoon board expects Epson RX8900 I2C RTC but a ds1338 is
+ * good enough */
+ i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), "ds1338",
0x32);
}
static void witherspoon_bmc_init(MachineState *machine)
--
2.13.6
- [Qemu-arm] [PATCH v5 0/8] aspeed: add a witherspoon-bmc machine, Cédric Le Goater, 2017/10/19
- [Qemu-arm] [PATCH v5 2/8] aspeed: remove ignore_memory_transaction_failures all boards, Cédric Le Goater, 2017/10/19
- [Qemu-arm] [PATCH v5 3/8] aspeed: add support for the witherspoon-bmc board, Cédric Le Goater, 2017/10/19
- [Qemu-arm] [PATCH v5 4/8] aspeed: add an I2C RTC device to all machines,
Cédric Le Goater <=
- [Qemu-arm] [PATCH v5 5/8] smbus: add a smbus_eeprom_init_one() routine, Cédric Le Goater, 2017/10/19
- [Qemu-arm] [PATCH v5 6/8] aspeed: Add EEPROM I2C devices, Cédric Le Goater, 2017/10/19
- [Qemu-arm] [PATCH v5 7/8] misc: add pca9552 LED blinker model, Cédric Le Goater, 2017/10/19
- [Qemu-arm] [PATCH v5 8/8] aspeed: add the pc9552 chips to the witherspoon machine, Cédric Le Goater, 2017/10/19