diff options
Diffstat (limited to 'meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch')
-rw-r--r-- | meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch new file mode 100644 index 000000000..deccc47f3 --- /dev/null +++ b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch @@ -0,0 +1,100 @@ +From 2ad1d60c39a2a9a08bcd29188362efba4e92e546 Mon Sep 17 00:00:00 2001 +From: "Jason M. Bills" <jason.m.bills@linux.intel.com> +Date: Tue, 9 Apr 2019 16:18:07 -0700 +Subject: [PATCH] hw/arm/aspeed: Add an intel-ast2500 machine type + +Include the HW strap setting and some I2C temperature sensors. + +Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com> +Signed-off-by: James Feist <james.feist@linux.intel.com> +--- + hw/arm/aspeed.c | 42 ++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 42 insertions(+) + +diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c +index 6f4d707..5a9d58b 100644 +--- a/hw/arm/aspeed.c ++++ b/hw/arm/aspeed.c +@@ -64,6 +64,21 @@ struct AspeedBoardState { + SCU_HW_STRAP_MAC0_RGMII) & \ + ~SCU_HW_STRAP_2ND_BOOT_WDT) + ++/* intel ast2500 hardware value: 0xF3CCC286 */ ++#define INTEL_AST2500_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_ESPI_ENABLE | \ ++ SCU_AST2500_HW_STRAP_DDR4_ENABLE | \ ++ SCU_HW_STRAP_GPIOE_PT_EN | \ ++ SCU_AST2400_HW_STRAP_ACPI_DIS | \ ++ SCU_HW_STRAP_CLK_48M_IN | \ ++ SCU_HW_STRAP_VGA_CLASS_CODE | \ ++ SCU_HW_STRAP_MAC1_RGMII) & \ ++ ~SCU_HW_STRAP_2ND_BOOT_WDT) ++ + /* Romulus hardware value: 0xF10AD206 */ + #define ROMULUS_BMC_HW_STRAP1 ( \ + AST2500_HW_STRAP1_DEFAULTS | \ +@@ -396,6 +411,24 @@ static void ast2600_evb_i2c_init(AspeedBoardState *bmc) + ast2500_evb_i2c_init(bmc); + } + ++static void intel_ast2500_i2c_init(AspeedBoardState *bmc) ++{ ++ AspeedSoCState *soc = &bmc->soc; ++ DeviceState *dev; ++ ++ dev = i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 6), "tmp421", 0x4d); ++ object_property_set_int(OBJECT(dev), 50000, "temperature0", &error_abort); ++ /* The s2600wf expects a TMP75 but a TMP105 is compatible */ ++ dev = i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 6), "tmp105", 0x48); ++ object_property_set_int(OBJECT(dev), 50000, "temperature", &error_abort); ++ dev = i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 6), "tmp105", 0x49); ++ object_property_set_int(OBJECT(dev), 50000, "temperature", &error_abort); ++ dev = i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 6), "tmp105", 0x4a); ++ object_property_set_int(OBJECT(dev), 50000, "temperature", &error_abort); ++ dev = i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 6), "tmp105", 0x4b); ++ object_property_set_int(OBJECT(dev), 50000, "temperature", &error_abort); ++} ++ + static void romulus_bmc_i2c_init(AspeedBoardState *bmc) + { + AspeedSoCState *soc = &bmc->soc; +@@ -537,6 +570,21 @@ static void aspeed_machine_ast2500_evb_class_init(ObjectClass *oc, void *data) + mc->default_ram_size = 512 * MiB; + }; + ++static void aspeed_machine_intel_ast2500_class_init(ObjectClass *oc, void *data) ++{ ++ MachineClass *mc = MACHINE_CLASS(oc); ++ AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc); ++ ++ mc->desc = "Intel AST2500 BMC (ARM1176)"; ++ amc->soc_name = "ast2500-a1"; ++ amc->hw_strap1 = INTEL_AST2500_BMC_HW_STRAP1; ++ amc->fmc_model = "n25q512a"; ++ amc->spi_model = "n25q512a"; ++ amc->num_cs = 1; ++ amc->i2c_init = intel_ast2500_i2c_init; ++ mc->default_ram_size = 512 * MiB; ++}; ++ + static void aspeed_machine_romulus_class_init(ObjectClass *oc, void *data) + { + MachineClass *mc = MACHINE_CLASS(oc); +@@ -624,6 +672,10 @@ static const TypeInfo aspeed_machine_types[] = { + .parent = TYPE_ASPEED_MACHINE, + .class_init = aspeed_machine_ast2500_evb_class_init, + }, { ++ .name = MACHINE_TYPE_NAME("intel-ast2500"), ++ .parent = TYPE_ASPEED_MACHINE, ++ .class_init = aspeed_machine_intel_ast2500_class_init, ++ }, { + .name = MACHINE_TYPE_NAME("romulus-bmc"), + .parent = TYPE_ASPEED_MACHINE, + .class_init = aspeed_machine_romulus_class_init, +-- +2.17.1 + |