diff options
Diffstat (limited to 'meta-openbmc-mods/meta-common-small')
7 files changed, 151 insertions, 56 deletions
diff --git a/meta-openbmc-mods/meta-common-small/conf/layer.conf b/meta-openbmc-mods/meta-common-small/conf/layer.conf index a3c2fb4e7..2c2bf025b 100644 --- a/meta-openbmc-mods/meta-common-small/conf/layer.conf +++ b/meta-openbmc-mods/meta-common-small/conf/layer.conf @@ -8,4 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "common-small" BBFILE_PATTERN_common-small = "^${LAYERDIR}/" BBFILE_PRIORITY_common-small = "10" -LAYERSERIES_COMPAT_common-small = "zeus dunfell" +LAYERSERIES_COMPAT_common-small = "dunfell gatesgarth" 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 index deccc47f3..4db72085d 100644 --- 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 @@ -1,6 +1,6 @@ -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 +From 48aa1135cffd72d2c2f4067f3e96ae25d6dbfc30 Mon Sep 17 00:00:00 2001 +From: "Wludzik, Jozef" <jozef.wludzik@intel.com> +Date: Mon, 16 Nov 2020 15:48:04 +0100 Subject: [PATCH] hw/arm/aspeed: Add an intel-ast2500 machine type Include the HW strap setting and some I2C temperature sensors. @@ -8,17 +8,17 @@ 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(+) + hw/arm/aspeed.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 54 insertions(+) diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c -index 6f4d707..5a9d58b 100644 +index fcb1a7cd..514dca85 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c -@@ -64,6 +64,21 @@ struct AspeedBoardState { +@@ -68,6 +68,21 @@ struct AspeedMachineState { 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 | \ @@ -37,35 +37,35 @@ index 6f4d707..5a9d58b 100644 /* 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); +@@ -417,6 +432,24 @@ static void ast2500_evb_i2c_init(AspeedMachineState *bmc) + i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), "ds1338", 0x32); } - -+static void intel_ast2500_i2c_init(AspeedBoardState *bmc) + ++static void intel_ast2500_i2c_init(AspeedMachineState *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); ++ dev = DEVICE(i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp421", 0x4d)); ++ object_property_set_int(OBJECT(dev), "temperature0", 50000, &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); ++ dev = DEVICE(i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp105", 0x48)); ++ object_property_set_int(OBJECT(dev), "temperature", 50000, &error_abort); ++ dev = DEVICE(i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp105", 0x49)); ++ object_property_set_int(OBJECT(dev), "temperature", 50000, &error_abort); ++ dev = DEVICE(i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp105", 0x4a)); ++ object_property_set_int(OBJECT(dev), "temperature", 50000, &error_abort); ++ dev = DEVICE(i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 6), "tmp105", 0x4b)); ++ object_property_set_int(OBJECT(dev), "temperature", 50000, &error_abort); +} + - static void romulus_bmc_i2c_init(AspeedBoardState *bmc) + static void ast2600_evb_i2c_init(AspeedMachineState *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; + /* Start with some devices on our I2C busses */ +@@ -620,6 +653,23 @@ static void aspeed_machine_ast2500_evb_class_init(ObjectClass *oc, void *data) + aspeed_soc_num_cpus(amc->soc_name); }; - + +static void aspeed_machine_intel_ast2500_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); @@ -79,22 +79,21 @@ index 6f4d707..5a9d58b 100644 + amc->num_cs = 1; + amc->i2c_init = intel_ast2500_i2c_init; + mc->default_ram_size = 512 * MiB; ++ mc->default_cpus = mc->min_cpus = mc->max_cpus = ++ aspeed_soc_num_cpus(amc->soc_name); +}; + 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[] = { +@@ -735,6 +785,10 @@ static const TypeInfo aspeed_machine_types[] = { + .name = MACHINE_TYPE_NAME("ast2500-evb"), .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 - diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0002-hw-arm-aspeed-Add-an-intel-ast2600-machine-type.patch b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0002-hw-arm-aspeed-Add-an-intel-ast2600-machine-type.patch new file mode 100644 index 000000000..2d5bd8faa --- /dev/null +++ b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0002-hw-arm-aspeed-Add-an-intel-ast2600-machine-type.patch @@ -0,0 +1,65 @@ +From 165f4bc884b9f9ed5bf568f5b930dba6835a2edd Mon Sep 17 00:00:00 2001 +From: "Wludzik, Jozef" <jozef.wludzik@intel.com> +Date: Mon, 16 Nov 2020 15:52:12 +0100 +Subject: [PATCH] hw/arm/aspeed: Add an intel-ast2600 machine type + +Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com> +--- + hw/arm/aspeed.c | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c +index 514dca85..be9e1455 100644 +--- a/hw/arm/aspeed.c ++++ b/hw/arm/aspeed.c +@@ -126,6 +126,10 @@ struct AspeedMachineState { + #define AST2600_EVB_HW_STRAP1 0x000000C0 + #define AST2600_EVB_HW_STRAP2 0x00000003 + ++/* Intel AST2600 hardware value */ ++#define INTEL_AST2600_HW_STRAP1 0x00000000 ++#define INTEL_AST2600_HW_STRAP2 0x00000040 ++ + /* Tacoma hardware value */ + #define TACOMA_BMC_HW_STRAP1 0x00000000 + #define TACOMA_BMC_HW_STRAP2 0x00000040 +@@ -670,6 +674,25 @@ static void aspeed_machine_intel_ast2500_class_init(ObjectClass *oc, void *data) + aspeed_soc_num_cpus(amc->soc_name); + }; + ++static void aspeed_machine_intel_ast2600_class_init(ObjectClass *oc, void *data) ++{ ++ MachineClass *mc = MACHINE_CLASS(oc); ++ AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc); ++ ++ mc->desc = "Intel AST2600 BMC (Cortex A7)"; ++ amc->soc_name = "ast2600-a1"; ++ amc->hw_strap1 = INTEL_AST2600_HW_STRAP1; ++ amc->hw_strap2 = INTEL_AST2600_HW_STRAP2; ++ amc->fmc_model = "n25q512a"; ++ amc->spi_model = "n25q512a"; ++ amc->num_cs = 1; ++ amc->macs_mask = ASPEED_MAC1_ON | ASPEED_MAC2_ON | ASPEED_MAC3_ON; ++ amc->i2c_init = intel_ast2500_i2c_init; ++ mc->default_ram_size = 1 * GiB; ++ mc->default_cpus = mc->min_cpus = mc->max_cpus = ++ aspeed_soc_num_cpus(amc->soc_name); ++}; ++ + static void aspeed_machine_romulus_class_init(ObjectClass *oc, void *data) + { + MachineClass *mc = MACHINE_CLASS(oc); +@@ -789,6 +812,10 @@ static const TypeInfo aspeed_machine_types[] = { + .name = MACHINE_TYPE_NAME("intel-ast2500"), + .parent = TYPE_ASPEED_MACHINE, + .class_init = aspeed_machine_intel_ast2500_class_init, ++ }, { ++ .name = MACHINE_TYPE_NAME("intel-ast2600"), ++ .parent = TYPE_ASPEED_MACHINE, ++ .class_init = aspeed_machine_intel_ast2600_class_init, + }, { + .name = MACHINE_TYPE_NAME("romulus-bmc"), + .parent = TYPE_ASPEED_MACHINE, +-- +2.16.6 + diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0003-Remove-clearing-aspeed-GPIO-registers.patch b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0003-Remove-clearing-aspeed-GPIO-registers.patch new file mode 100644 index 000000000..d1e9752a5 --- /dev/null +++ b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/files/0003-Remove-clearing-aspeed-GPIO-registers.patch @@ -0,0 +1,30 @@ +From c0f3add0f49818992f752d04f33204ee1f27e885 Mon Sep 17 00:00:00 2001 +From: "Wludzik, Jozef" <jozef.wludzik@intel.com> +Date: Mon, 30 Nov 2020 14:32:52 +0100 +Subject: [PATCH] Remove clearing aspeed GPIO registers + +Removed clearing aspeed GPIO registers to omit clearing set GPIO +lines at machine initialization. It does not affect aspeed +simulation. intel-ast machines boot with success. + +Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com> +--- + hw/gpio/aspeed_gpio.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/gpio/aspeed_gpio.c b/hw/gpio/aspeed_gpio.c +index 985a259e05..9f93a10887 100644 +--- a/hw/gpio/aspeed_gpio.c ++++ b/hw/gpio/aspeed_gpio.c +@@ -830,7 +830,7 @@ static void aspeed_gpio_reset(DeviceState *dev) + AspeedGPIOState *s = ASPEED_GPIO(dev); + + /* TODO: respect the reset tolerance registers */ +- memset(s->sets, 0, sizeof(s->sets)); ++ //memset(s->sets, 0, sizeof(s->sets)); + } + + static void aspeed_gpio_realize(DeviceState *dev, Error **errp) +-- +2.16.6 + diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-native_%.bbappend b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-native_%.bbappend deleted file mode 100644 index d9fed5138..000000000 --- a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-native_%.bbappend +++ /dev/null @@ -1,9 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" -SRC_URI = "git://github.com/openbmc/qemu.git;nobranch=1 \ - file://0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch" - -QEMU_TARGETS = "arm" - -S = "${WORKDIR}/git" -SRCREV = "8ab0db0624b454bd69a04ca0010f165cb7119100" -PACKAGECONFIG[libudev] = "" diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-system-native_%.bbappend b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-system-native_%.bbappend index f8c8c66c1..fea29b586 100644 --- a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-system-native_%.bbappend +++ b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu-system-native_%.bbappend @@ -1,9 +1,25 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:" -SRC_URI = "git://github.com/openbmc/qemu.git;nobranch=1 \ - file://powerpc_rom.bin \ - file://0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch" +SRC_URI += "file://0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch \ + file://0002-hw-arm-aspeed-Add-an-intel-ast2600-machine-type.patch \ + file://0003-Remove-clearing-aspeed-GPIO-registers.patch" QEMU_TARGETS = "arm" - -S = "${WORKDIR}/git" -SRCREV = "8ab0db0624b454bd69a04ca0010f165cb7119100" +EXTRA_OECONF = " \ + --prefix=${prefix} \ + --bindir=${bindir} \ + --includedir=${includedir} \ + --libdir=${libdir} \ + --mandir=${mandir} \ + --datadir=${datadir} \ + --docdir=${docdir}/${BPN} \ + --sysconfdir=${sysconfdir} \ + --libexecdir=${libexecdir} \ + --localstatedir=${localstatedir} \ + --with-confsuffix=/${BPN} \ + --disable-strip \ + --disable-werror \ + --extra-cflags='${CFLAGS}' \ + --extra-ldflags='${LDFLAGS}' \ + --python=${HOSTTOOLS_DIR}/python3 \ + ${PACKAGECONFIG_CONFARGS} \ + " diff --git a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu_%.bbappend b/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu_%.bbappend deleted file mode 100644 index cfc1a3ace..000000000 --- a/meta-openbmc-mods/meta-common-small/recipes-devtools/qemu/qemu_%.bbappend +++ /dev/null @@ -1,6 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" -SRC_URI = "git://github.com/openbmc/qemu.git;nobranch=1 \ - file://0001-hw-arm-aspeed-Add-an-intel-ast2500-machine-type.patch" - -S = "${WORKDIR}/git" -SRCREV = "8ab0db0624b454bd69a04ca0010f165cb7119100" |