{"id":812293,"url":"http://patchwork.ozlabs.org/api/1.2/patches/812293/?format=json","web_url":"http://patchwork.ozlabs.org/project/openbmc/patch/20170911091643.25203-1-clg@kaod.org/","project":{"id":56,"url":"http://patchwork.ozlabs.org/api/1.2/projects/56/?format=json","name":"OpenBMC development","link_name":"openbmc","list_id":"openbmc.lists.ozlabs.org","list_email":"openbmc@lists.ozlabs.org","web_url":"http://github.com/openbmc/","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170911091643.25203-1-clg@kaod.org>","list_archive_url":null,"date":"2017-09-11T09:16:43","name":"[qemu] aspeed: add support for the witherspoon-bmc board","commit_ref":null,"pull_url":null,"state":"accepted","archived":true,"hash":"df25a25b8232f0c2bbde06389f92d23a4aca918f","submitter":{"id":68548,"url":"http://patchwork.ozlabs.org/api/1.2/people/68548/?format=json","name":"Cédric Le Goater","email":"clg@kaod.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/openbmc/patch/20170911091643.25203-1-clg@kaod.org/mbox/","series":[{"id":2466,"url":"http://patchwork.ozlabs.org/api/1.2/series/2466/?format=json","web_url":"http://patchwork.ozlabs.org/project/openbmc/list/?series=2466","date":"2017-09-11T09:16:43","name":"[qemu] aspeed: add support for the witherspoon-bmc board","version":1,"mbox":"http://patchwork.ozlabs.org/series/2466/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/812293/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/812293/checks/","tags":{},"related":[],"headers":{"Return-Path":"<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","openbmc@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","openbmc@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xrNbm0XCvz9s1h\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 19:56:04 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xrNbl6VsdzDrnb\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 19:56:03 +1000 (AEST)","from 8.mo2.mail-out.ovh.net (8.mo2.mail-out.ovh.net\n\t[188.165.52.147])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xrNbf5Q0LzDrWD\n\tfor <openbmc@lists.ozlabs.org>; Mon, 11 Sep 2017 19:55:57 +1000 (AEST)","from player770.ha.ovh.net (b6.ovh.net [213.186.33.56])\n\tby mo2.mail-out.ovh.net (Postfix) with ESMTP id 3FFAEA4DCC\n\tfor <openbmc@lists.ozlabs.org>; Mon, 11 Sep 2017 11:16:53 +0200 (CEST)","from zorba.kaod.org.com (LFbn-1-2231-173.w90-76.abo.wanadoo.fr\n\t[90.76.52.173]) (Authenticated sender: clg@kaod.org)\n\tby player770.ha.ovh.net (Postfix) with ESMTPSA id 1D2323C0096;\n\tMon, 11 Sep 2017 11:16:49 +0200 (CEST)"],"Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=kaod.org\n\t(client-ip=188.165.52.147; helo=8.mo2.mail-out.ovh.net;\n\tenvelope-from=clg@kaod.org; receiver=<UNKNOWN>)","X-Greylist":"delayed 1201 seconds by postgrey-1.36 at bilbo;\n\tMon, 11 Sep 2017 19:55:58 AEST","From":"=?utf-8?q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>","To":"openbmc@lists.ozlabs.org","Subject":"[PATCH qemu] aspeed: add support for the witherspoon-bmc board","Date":"Mon, 11 Sep 2017 11:16:43 +0200","Message-Id":"<20170911091643.25203-1-clg@kaod.org>","X-Mailer":"git-send-email 2.13.5","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-Ovh-Tracer-Id":"6089992599422667522","X-VR-SPAMSTATE":"OK","X-VR-SPAMSCORE":"-100","X-VR-SPAMCAUSE":"gggruggvucftvghtrhhoucdtuddrfeelledrgedtgddugecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd","X-BeenThere":"openbmc@lists.ozlabs.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"Development list for OpenBMC <openbmc.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/openbmc/>","List-Post":"<mailto:openbmc@lists.ozlabs.org>","List-Help":"<mailto:openbmc-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=subscribe>","Cc":"Andrew Jeffery <andrew@aj.id.au>, =?utf-8?q?C=C3=A9dric_Le_Goater?=\n\t<clg@kaod.org>","Errors-To":"openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"openbmc\"\n\t<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"},"content":"The Witherspoon boards are OpenPOWER system hosting a POWER9\nProcessor. Let's add support for their BMC including a couple\nof I2C devices as found on real HW.\n\nSigned-off-by: Cédric Le Goater <clg@kaod.org>\n---\n hw/arm/aspeed.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 62 insertions(+)","diff":"diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c\nindex 02c0c1613c86..484ae1003d26 100644\n--- a/hw/arm/aspeed.c\n+++ b/hw/arm/aspeed.c\n@@ -46,6 +46,7 @@ enum {\n     PALMETTO_BMC,\n     AST2500_EVB,\n     ROMULUS_BMC,\n+    WITHERSPOON_BMC,\n };\n \n /* Palmetto hardware value: 0x120CE416 */\n@@ -83,9 +84,13 @@ enum {\n         SCU_AST2500_HW_STRAP_ACPI_ENABLE |                              \\\n         SCU_HW_STRAP_SPI_MODE(SCU_HW_STRAP_SPI_MASTER))\n \n+/* Witherspoon hardware value: 0xF10AD216 (but use romulus definition) */\n+#define WITHERSPOON_BMC_HW_STRAP1 ROMULUS_BMC_HW_STRAP1\n+\n static void palmetto_bmc_i2c_init(AspeedBoardState *bmc);\n static void ast2500_evb_i2c_init(AspeedBoardState *bmc);\n static void romulus_bmc_i2c_init(AspeedBoardState *bmc);\n+static void witherspoon_bmc_i2c_init(AspeedBoardState *bmc);\n \n static const AspeedBoardConfig aspeed_boards[] = {\n     [PALMETTO_BMC] = {\n@@ -112,6 +117,14 @@ static const AspeedBoardConfig aspeed_boards[] = {\n         .num_cs    = 2,\n         .i2c_init  = romulus_bmc_i2c_init,\n     },\n+    [WITHERSPOON_BMC]  = {\n+        .soc_name  = \"ast2500-a1\",\n+        .hw_strap1 = WITHERSPOON_BMC_HW_STRAP1,\n+        .fmc_model = \"mx25l25635e\",\n+        .spi_model = \"mx66l1g45g\",\n+        .num_cs    = 2,\n+        .i2c_init  = witherspoon_bmc_i2c_init,\n+    },\n };\n \n #define FIRMWARE_ADDR 0x0\n@@ -347,11 +360,60 @@ static const TypeInfo romulus_bmc_type = {\n     .class_init = romulus_bmc_class_init,\n };\n \n+static void witherspoon_bmc_i2c_init(AspeedBoardState *bmc)\n+{\n+    AspeedSoCState *soc = &bmc->soc;\n+    DeviceState *dev;\n+    uint8_t *eeprom_buf = g_malloc0(8 * 1024);\n+\n+    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 3), \"pca9552\", 0x60);\n+\n+    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 4), \"tmp423\", 0x4c);\n+    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 5), \"tmp423\", 0x4c);\n+\n+    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 9), \"tmp105\", 0x4a);\n+\n+    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), \"rx8900\", 0x32);\n+    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11), \"pca9552\",\n+                     0x60);\n+\n+    dev = qdev_create((BusState *) aspeed_i2c_get_bus(DEVICE(&soc->i2c), 11),\n+                      \"smbus-eeprom\");\n+    qdev_prop_set_uint8(dev, \"address\", 0x51);\n+    qdev_prop_set_ptr(dev, \"data\", eeprom_buf);\n+    qdev_init_nofail(dev);\n+}\n+\n+static void witherspoon_bmc_init(MachineState *machine)\n+{\n+    aspeed_board_init(machine, &aspeed_boards[WITHERSPOON_BMC]);\n+}\n+\n+static void witherspoon_bmc_class_init(ObjectClass *oc, void *data)\n+{\n+    MachineClass *mc = MACHINE_CLASS(oc);\n+\n+    mc->desc = \"OpenPOWER Witherspoon BMC (ARM1176)\";\n+    mc->init = witherspoon_bmc_init;\n+    mc->max_cpus = 1;\n+    mc->no_sdcard = 1;\n+    mc->no_floppy = 1;\n+    mc->no_cdrom = 1;\n+    mc->no_parallel = 1;\n+}\n+\n+static const TypeInfo witherspoon_bmc_type = {\n+    .name = MACHINE_TYPE_NAME(\"witherspoon-bmc\"),\n+    .parent = TYPE_MACHINE,\n+    .class_init = witherspoon_bmc_class_init,\n+};\n+\n static void aspeed_machine_init(void)\n {\n     type_register_static(&palmetto_bmc_type);\n     type_register_static(&ast2500_evb_type);\n     type_register_static(&romulus_bmc_type);\n+    type_register_static(&witherspoon_bmc_type);\n }\n \n type_init(aspeed_machine_init)\n","prefixes":["qemu"]}