[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: |
Joel Stanley |
Subject: |
Re: [Qemu-arm] [PATCH qemu] aspeed: Add support for the swift-bmc board |
Date: |
Mon, 3 Jun 2019 23:37:17 +0000 |
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
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
>