qemu-arm
[Top][All Lists]
Advanced

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

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


From: Cédric Le Goater
Subject: Re: [Qemu-arm] [PATCH qemu v2] aspeed: Add support for the swift-bmc board
Date: Tue, 11 Jun 2019 08:20:02 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0

Hello Adriana,

On 10/06/2019 22:53, Adriana Kobylak 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>


I pushed this patch in my tree for the moment as the patchset :

  "aspeed: machine extensions and fixes" patchwork.ozlabs.org/cover/1105343/

still needs some more reviews.

Thanks,

C. 

> ---
>  hw/arm/aspeed.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 50 insertions(+)
> 
> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
> index 33070a6..7fd0e0c 100644
> --- a/hw/arm/aspeed.c
> +++ b/hw/arm/aspeed.c
> @@ -73,6 +73,17 @@ struct AspeedBoardState {
>          SCU_AST2500_HW_STRAP_ACPI_ENABLE |                              \
>          SCU_HW_STRAP_SPI_MODE(SCU_HW_STRAP_SPI_MASTER))
>  
> +/* Swift hardware value: 0xF11AD206 */
> +#define SWIFT_BMC_HW_STRAP1 (                                           \
> +        AST2500_HW_STRAP1_DEFAULTS |                                    \
> +        SCU_AST2500_HW_STRAP_SPI_AUTOFETCH_ENABLE |                     \
> +        SCU_AST2500_HW_STRAP_GPIO_STRAP_ENABLE |                        \
> +        SCU_AST2500_HW_STRAP_UART_DEBUG |                               \
> +        SCU_AST2500_HW_STRAP_DDR4_ENABLE |                              \
> +        SCU_H_PLL_BYPASS_EN |                                           \
> +        SCU_AST2500_HW_STRAP_ACPI_ENABLE |                              \
> +        SCU_HW_STRAP_SPI_MODE(SCU_HW_STRAP_SPI_MASTER))
> +
>  /* Witherspoon hardware value: 0xF10AD216 (but use romulus definition) */
>  #define WITHERSPOON_BMC_HW_STRAP1 ROMULUS_BMC_HW_STRAP1
>  
> @@ -287,6 +298,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 +418,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",
> 




reply via email to

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