On Wed, 2017-09-20 at 09:01 +0200, Cédric Le Goater wrote: > 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 <[email protected]>
Reviewed-by: Andrew Jeffery <[email protected]> > --- > hw/arm/aspeed.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c > index 81f522f711ae..362b683e9021 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", > @@ -298,6 +300,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) > @@ -325,6 +331,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]); > @@ -358,6 +373,10 @@ static void witherspoon_bmc_i2c_init(AspeedBoardState > *bmc) > i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 5), "tmp423", > 0x4c); > > 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)
signature.asc
Description: This is a digitally signed message part
