qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-arm] [PATCH qemu] aspeed: Add support for the swift-bmc board


From: Andrew Jeffery
Subject: Re: [Qemu-arm] [PATCH qemu] aspeed: Add support for the swift-bmc board
Date: Tue, 04 Jun 2019 12:02:56 +0930
User-agent: Cyrus-JMAP/3.1.6-555-g49357e1-fmstable-20190528v2


On Tue, 4 Jun 2019, at 09:07, Joel Stanley wrote:
> On Mon, 3 Jun 2019 at 19:11, Adriana Kobylak <address@hidden> wrote:
> >
> > From: Adriana Kobylak <address@hidden>
> >
> > The Swift board is an OpenPOWER system hosting POWER processors.
> > Add support for their BMC including the I2C devices as found on HW.
> >
> > Signed-off-by: Adriana Kobylak <address@hidden>
> > Reviewed-by: Cédric Le Goater <address@hidden>
> > ---
> >  hw/arm/aspeed.c | 42 ++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 42 insertions(+)
> >
> > diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
> > index 33070a6..cd95b3c 100644
> > --- a/hw/arm/aspeed.c
> > +++ b/hw/arm/aspeed.c
> > @@ -73,6 +73,9 @@ struct AspeedBoardState {
> >          SCU_AST2500_HW_STRAP_ACPI_ENABLE |                              \
> >          SCU_HW_STRAP_SPI_MODE(SCU_HW_STRAP_SPI_MASTER))
> >
> > +/* TODO: Swift hardware value: ? (use romulus definition for now) */
> > +#define SWIFT_BMC_HW_STRAP1 ROMULUS_BMC_HW_STRAP1
> 
> I got this from hardware: 0xF11AD206

There are two differences from the value noted in the comment below:

1. Bit 4 is clear in your value
2. Bit 20 is set in your value

Bit 4 is reserved, so not sure if we should care about the difference.

Bit 20 is the SuperIO decode disable bit. I don't think we care much
about it at the moment, but we may as we model more of the LPC
interface in the future.

Andrew

> 
> The rest looks okay.
> 
> Reviewed-by: Joel Stanley <address@hidden>
> 
> > +
> >  /* Witherspoon hardware value: 0xF10AD216 (but use romulus definition) */
> >  #define WITHERSPOON_BMC_HW_STRAP1 ROMULUS_BMC_HW_STRAP1
> >
> > @@ -287,6 +290,35 @@ static void romulus_bmc_i2c_init(AspeedBoardState *bmc)
> >      i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), "ds1338", 
> > 0x32);
> >  }
> >
> > +static void swift_bmc_i2c_init(AspeedBoardState *bmc)
> > +{
> > +    AspeedSoCState *soc = &bmc->soc;
> > +
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 3), "pca9552", 
> > 0x60);
> > +
> > +    /* The swift board expects a TMP275 but a TMP105 is compatible */
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 7), "tmp105", 
> > 0x48);
> > +    /* The swift board expects a pca9551 but a pca9552 is compatible */
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 7), "pca9552", 
> > 0x60);
> > +
> > +    /* The swift board expects an Epson RX8900 RTC but a ds1338 is 
> > compatible */
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 8), "ds1338", 
> > 0x32);
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 8), "pca9552", 
> > 0x60);
> > +
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 9), "tmp423", 
> > 0x4c);
> > +    /* The swift board expects a pca9539 but a pca9552 is compatible */
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 9), "pca9552", 
> > 0x74);
> > +
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 10), "tmp423", 
> > 0x4c);
> > +    /* The swift board expects a pca9539 but a pca9552 is compatible */
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 10), "pca9552",
> > +                     0x74);
> > +
> > +    /* The swift board expects a TMP275 but a TMP105 is compatible */
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 12), "tmp105", 
> > 0x48);
> > +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 12), "tmp105", 
> > 0x4a);
> > +}
> > +
> >  static void witherspoon_bmc_i2c_init(AspeedBoardState *bmc)
> >  {
> >      AspeedSoCState *soc = &bmc->soc;
> > @@ -378,6 +410,16 @@ static const AspeedBoardConfig aspeed_boards[] = {
> >          .i2c_init  = romulus_bmc_i2c_init,
> >          .ram       = 512 * MiB,
> >      }, {
> > +        .name      = MACHINE_TYPE_NAME("swift-bmc"),
> > +        .desc      = "OpenPOWER Swift BMC (ARM1176)",
> > +        .soc_name  = "ast2500-a1",
> > +        .hw_strap1 = SWIFT_BMC_HW_STRAP1,
> > +        .fmc_model = "mx66l1g45g",
> > +        .spi_model = "mx66l1g45g",
> > +        .num_cs    = 2,
> > +        .i2c_init  = swift_bmc_i2c_init,
> > +        .ram       = 512 * MiB,
> > +    }, {
> >          .name      = MACHINE_TYPE_NAME("witherspoon-bmc"),
> >          .desc      = "OpenPOWER Witherspoon BMC (ARM1176)",
> >          .soc_name  = "ast2500-a1",
> > --
> > 1.8.3.1
> >
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]