From nobody Sat May 30 18:35:29 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1778873320; cv=none; d=zohomail.com; s=zohoarc; b=O3DVi8/uwA/eZTXB1Cml/2a4G+SCRR38hw++xGnGJgTbqsBlAeLx5A2bgtLtZcYmj3/U9RcKsunI+sZjo4IdjlsyhKeUaYniW7IH4ftcKpd6veorX12hrasVwAqcbv4wnvxgmp1bLRWv1dtntiIhl+nQOokoEHBRJZ2QzJUETMk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778873320; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=f8XeJxnVBihhntFH3IMzTHlwIY2k325/2hoSp8DcYBI=; b=ZRFibumRzR9vXKtvHqbH52Ms2rqxAMZh06i2pvr3JbRd3KKipK7oGZv5mwrJl3wgcRBrQHKM2LM/pDOTwEgxQGHTFuwBjMzbTLCqaKfNEznFN3soI8pNhcotpkbWmatMKKCIid/J/fJcfdjqjGnFaA/XYucajFnk0w9FCs2leIY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778873320381832.2786923084509; Fri, 15 May 2026 12:28:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wNyCc-0001Bo-K6; Fri, 15 May 2026 15:28:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wNvpc-0003rC-1Y for qemu-devel@nongnu.org; Fri, 15 May 2026 12:56:12 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wNvpZ-0004yA-Fw for qemu-devel@nongnu.org; Fri, 15 May 2026 12:56:11 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-43fe3e22e33so5103f8f.0 for ; Fri, 15 May 2026 09:56:09 -0700 (PDT) Received: from localhost ([2a03:2880:30ff:3::]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45d9e767ee0sm15042051f8f.1.2026.05.15.09.56.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 09:56:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778864168; x=1779468968; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=f8XeJxnVBihhntFH3IMzTHlwIY2k325/2hoSp8DcYBI=; b=CyakreQ99v2xhzStKg32BcPH6K+M+zd6KF6M9KJDTq29S1zhPM6I6LmRKjuiw6GigZ bDpQIV0BzxjTbGg1JDimpmrgjKaWSZHSFePU/GQH9aGqGCQg+ch1HKtGpxaM4qmegi03 YNlHNXZIM8PpEINV97BfoXzm1XmHfNJ8ncRbYSwXla79bfwWIJN3IR/zhgB/LNgarPoe 1EaE4sEuEq3CoUsUPzXYGT5dqI291Vw5frQAoJo/ojz17EBCcYIRwShorwVuoXnvwsd1 ZeEjwLNkCdTG84tWJMvfgw3lGEirTq7G/rMzLPPtCYCqp2YASIXR8k31p30Z5WVD/gri E8kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778864168; x=1779468968; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=f8XeJxnVBihhntFH3IMzTHlwIY2k325/2hoSp8DcYBI=; b=jtwaxSpjpzdd53gdviWsgR0ZqAqgXLdv3l/NksZbcg0mgE8O2a497i+6Zik2sDh9fF WAmrCbbkQ/47n6x5aiZ4ypVXdUJpRsZ4gKd0oZWIOhSiD1JgTOhDf/SQwgoTKA4RKseD YDp3p8VHAXdwaBkwMT+HJGe6625MMhuJwNhHcfWFzxB19Vue5I+AEJkwli86GyC/m79E x0R6pYadrZsLPvZT9k8b1VzWRsxdQvdhLSuBqndG3/t1CmThJUUWbzOwn70Fzw2hjz9D ze0q5Ubj07pQqUiy2pzRVWLQa8v2aEv7zgWI7IeOaBe1u8x99eQhcRwp+u8eeYnVo7W8 pyGw== X-Gm-Message-State: AOJu0Yy1E3X/QiJHYRLkI4q7O4mk9g3nsZCwvYy7UkqiO0AxCUfQg74b NwnT6KjsKcrPqhEhBco46zEfp2isigl1ALa2au/WnwLobhCEjg9Y935F X-Gm-Gg: Acq92OGnUKUoJIxWUdIkoSPysaUHrf5z/pdYKxP94fq81qEEiPCEjFAFwGc1QyiISEY 2O2v9ZmZUaubx/IPWxvwd2fxF97vIDYH2QSwwxmozAVZBWSM70Eo5/zj9Qu23NKrkkk561LIRmO EjK+zpNbcZYcrKOvKYmCb0hZGB2p3MVf7pFz80bU2dSI3MM3QGC0y9QpzG8JHBf5zeqYMHK5VPT xR/itz4OcPuT3/CuRZydq7JLn6yQG/r0elepA3NkuXJGQWwDmrKO1if0s3B4ytKLL1gJXPP8S75 fgyJ5KX57P614gKFUSo9pxfE9f6vId7JZrZvndMdVK9SiWaVX0Qf10013l/NbILd8a97Ru9AZpS CpYFHXu/XJolKgZL1JlOwvKnobGI+74jca9XOISkT22i/W58RPqVGmBUBwXNRe/OGJKpd4vRuuW Om+3H6rgYTP7O1NCLR9mVaJw== X-Received: by 2002:a05:6000:2081:b0:441:1cf8:ca00 with SMTP id ffacd0b85a97d-45e5c5e3017mr6670617f8f.26.1778864167737; Fri, 15 May 2026 09:56:07 -0700 (PDT) From: William de Abreu Pinho Date: Fri, 15 May 2026 09:55:50 -0700 Subject: [PATCH 1/2] hw/arm/aspeed: add anacapa-bmc machine MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260515-add-anacapa-machine-v1-1-9765ce0b9426@gmail.com> References: <20260515-add-anacapa-machine-v1-0-9765ce0b9426@gmail.com> In-Reply-To: <20260515-add-anacapa-machine-v1-0-9765ce0b9426@gmail.com> To: qemu-devel@nongnu.org Cc: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Jamin Lin , Kane Chen , Andrew Jeffery , Joel Stanley , qemu-arm@nongnu.org, William de Abreu Pinho X-Mailer: b4 0.13.0 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=williamdapinho@gmail.com; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 15 May 2026 15:28:05 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1778873321967158500 Add the Facebook Anacapa BMC machine. The I2C topology is based on the Linux kernel device tree [1]. Hardware strap register values are taken from real hardware. A functional test is included using the OpenBMC image built from [2], similar to the tests for bletchley-bmc and catalina-bmc. Facebook OpenBMC images include an early script [3] that lowers the console log level to warning. This suppresses the "Hostname set to" message from the serial console. Introduce FacebookAspeedTest (a subclass of AspeedTest), that waits for the login prompt instead. [1]: https://github.com/torvalds/linux/blob/76b4ec8efdc3887cdbf730da2e55881= fc1a18770/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-anacapa.dts [2]: https://github.com/openbmc/openbmc/commit/8e22df918eaaa5d83143471d24ef= 0eeb1c1e3c7c [3]: https://github.com/openbmc/openbmc/blob/6a56a45931fb7015a3fc1855341590= 9105b484d6/meta-facebook/recipes-phosphor/initrdscripts/phosphor-static-nor= ootfs-init/999-reduce-printk Signed-off-by: William de Abreu Pinho --- hw/arm/aspeed_ast2600_anacapa.c | 153 ++++++++++++++++++++++++= ++++ hw/arm/meson.build | 1 + tests/functional/arm/meson.build | 2 + tests/functional/arm/test_aspeed_anacapa.py | 25 +++++ tests/functional/aspeed.py | 8 ++ 5 files changed, 189 insertions(+) diff --git a/hw/arm/aspeed_ast2600_anacapa.c b/hw/arm/aspeed_ast2600_anacap= a.c new file mode 100644 index 0000000000..c24f00d44c --- /dev/null +++ b/hw/arm/aspeed_ast2600_anacapa.c @@ -0,0 +1,153 @@ +/* + * Facebook Anacapa + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qapi/error.h" +#include "hw/arm/machines-qom.h" +#include "hw/arm/aspeed.h" +#include "hw/arm/aspeed_soc.h" +#include "hw/i2c/i2c_mux_pca954x.h" +#include "hw/gpio/pca9552.h" +#include "hw/nvram/eeprom_at24c.h" + +/* Anacapa hardware value */ +#define ANACAPA_BMC_HW_STRAP1 0x00002002 +#define ANACAPA_BMC_HW_STRAP2 0x00000000 +#define ANACAPA_BMC_RAM_SIZE ASPEED_RAM_SIZE(2 * GiB) + +static void anacapa_bmc_i2c_init(AspeedMachineState *bmc) +{ + /* Reference: aspeed-bmc-facebook-anacapa.dts */ + + AspeedSoCState *soc =3D bmc->soc; + I2CBus *i2c[16] =3D {}; + I2CSlave *i2c_mux; + + for (int i =3D 0; i < ARRAY_SIZE(i2c); i++) { + i2c[i] =3D aspeed_i2c_get_bus(&soc->i2c, i); + } + + /* &i2c0 */ + /* eeprom@50 */ + at24c_eeprom_init(i2c[0], 0x50, 256 * KiB); + /* i2c-mux@70 */ + i2c_slave_create_simple(i2c[0], TYPE_PCA9546, 0x70); + + /* &i2c1 */ + /* eeprom@50 */ + at24c_eeprom_init(i2c[1], 0x50, 256 * KiB); + /* i2c-mux@70 (PCA9546) =E2=80=94 4 channels, empty */ + i2c_slave_create_simple(i2c[1], TYPE_PCA9546, 0x70); + + /* &i2c4 */ + /* i2c-mux@70 (PCA9548) */ + i2c_slave_create_simple(i2c[4], TYPE_PCA9548, 0x70); + + /* &i2c6 */ + /* eeprom@50 */ + at24c_eeprom_init(i2c[6], 0x50, 32 * KiB); + + /* &i2c8 */ + /* i2c-mux@72 (PCA9546) */ + i2c_mux =3D i2c_slave_create_simple(i2c[8], TYPE_PCA9546, 0x72); + + /* i2c8mux ch0 */ + /* adc128d818@1f =E2=80=94 no model */ + /* pca9555@22 */ + i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 0), + TYPE_PCA9552, 0x22); + /* pca9555@24 */ + i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 0), + TYPE_PCA9552, 0x24); + /* eeprom@50 */ + at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 0), 0x50, 16 * KiB); + + /* i2c8mux ch1 */ + /* pca9555@22 */ + i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 1), + TYPE_PCA9552, 0x22); + /* pca9555@24 */ + i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 1), + TYPE_PCA9552, 0x24); + /* eeprom@50 */ + at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 1), 0x50, 16 * KiB); + + /* &i2c9 */ + /* eeprom@50 */ + at24c_eeprom_init(i2c[9], 0x50, 16 * KiB); + /* eeprom@56 */ + at24c_eeprom_init(i2c[9], 0x56, 8 * KiB); + + /* &i2c10 */ + /* i2c-mux@71 (PCA9548) */ + i2c_mux =3D i2c_slave_create_simple(i2c[10], TYPE_PCA9548, 0x71); + + /* i2c10mux ch5 */ + /* pca9555@22*/ + i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 5), + TYPE_PCA9552, 0x22); + /* eeprom@52 */ + at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 5), 0x52, 32 * KiB); + + /* &i2c11 */ + /* i2c-mux@71 (PCA9548) */ + i2c_mux =3D i2c_slave_create_simple(i2c[11], TYPE_PCA9548, 0x71); + + /* i2c11mux ch0-ch4 =E2=80=94 empty */ + + /* i2c11mux ch5 */ + /* pca9555@22 */ + i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 5), + TYPE_PCA9552, 0x22); + /* eeprom@52 */ + at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 5), 0x52, 32 * KiB); + + /* &i2c13 */ + /* i2c-mux@70 (PCA9548) */ + i2c_mux =3D i2c_slave_create_simple(i2c[13], TYPE_PCA9548, 0x70); + + /* i2c13mux ch3 */ + /* adc128d818@1f - no model */ + + /* i2c13mux ch4 */ + /* eeprom@51 */ + at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 4), 0x51, 32 * KiB); + + /* i2c13mux ch7 */ + /* nfc@28 =E2=80=94 no model */ +} + +static void aspeed_machine_anacapa_class_init(ObjectClass *oc, + const void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + AspeedMachineClass *amc =3D ASPEED_MACHINE_CLASS(oc); + + mc->desc =3D "Facebook Anacapa BMC (Cortex-A7)"; + amc->soc_name =3D "ast2600-a3"; + amc->hw_strap1 =3D ANACAPA_BMC_HW_STRAP1; + amc->hw_strap2 =3D ANACAPA_BMC_HW_STRAP2; + amc->fmc_model =3D "mx66l1g45g"; + amc->spi_model =3D NULL; + amc->num_cs =3D 2; + amc->macs_mask =3D ASPEED_MAC2_ON; + amc->i2c_init =3D anacapa_bmc_i2c_init; + mc->default_ram_size =3D ANACAPA_BMC_RAM_SIZE; + aspeed_machine_class_init_cpus_defaults(mc); +} + +static const TypeInfo aspeed_ast2600_anacapa_types[] =3D { + { + .name =3D MACHINE_TYPE_NAME("anacapa-bmc"), + .parent =3D TYPE_ASPEED_MACHINE, + .class_init =3D aspeed_machine_anacapa_class_init, + .interfaces =3D arm_machine_interfaces, + } +}; + +DEFINE_TYPES(aspeed_ast2600_anacapa_types) diff --git a/hw/arm/meson.build b/hw/arm/meson.build index 84b8ec5fb5..3de3dca8a9 100644 --- a/hw/arm/meson.build +++ b/hw/arm/meson.build @@ -56,6 +56,7 @@ arm_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files( 'aspeed_ast2500_witherspoon.c', 'aspeed_ast2500_yosemitev2.c', 'aspeed_ast2600.c', + 'aspeed_ast2600_anacapa.c', 'aspeed_ast2600_bletchley.c', 'aspeed_ast2600_catalina.c', 'aspeed_ast2600_evb.c', diff --git a/tests/functional/arm/meson.build b/tests/functional/arm/meson.= build index 2f538f29a2..959179a56f 100644 --- a/tests/functional/arm/meson.build +++ b/tests/functional/arm/meson.build @@ -12,6 +12,7 @@ test_arm_timeouts =3D { 'aspeed_ast2600_sdk' : 720, 'aspeed_ast2600_sdk_515' : 720, 'aspeed_ast2600_sdk_otp' : 720, + 'aspeed_anacapa' : 480, 'aspeed_bletchley' : 480, 'aspeed_catalina' : 480, 'aspeed_gb200nvl_bmc' : 480, @@ -45,6 +46,7 @@ tests_arm_system_thorough =3D [ 'aspeed_ast2600_sdk', 'aspeed_ast2600_sdk_515', 'aspeed_ast2600_sdk_otp', + 'aspeed_anacapa', 'aspeed_bletchley', 'aspeed_catalina', 'aspeed_gb200nvl_bmc', diff --git a/tests/functional/arm/test_aspeed_anacapa.py b/tests/functional= /arm/test_aspeed_anacapa.py new file mode 100755 index 0000000000..27f8bd8b56 --- /dev/null +++ b/tests/functional/arm/test_aspeed_anacapa.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +# +# Functional test that boots the ASPEED machines +# +# SPDX-License-Identifier: GPL-2.0-or-later + +from qemu_test import Asset +from aspeed import FacebookAspeedTest + + +class AnacapaMachine(FacebookAspeedTest): + + ASSET_ANACAPA_FLASH =3D Asset( + 'https://github.com/legoater/qemu-aspeed-boot/raw/3fa3212827b04be4= 034d43b5adeef57c27d6ab18/images/anacapa-bmc/openbmc-20260512025228/obmc-pho= sphor-image-anacapa-20260512025228.static.mtd.xz', + '2232e241abcfb6d4f6b82cb6c378ce5ce05e364aac6d118785c2b6cc33fe43f3') + + def test_arm_ast2600_anacapa_openbmc(self): + image_path =3D self.uncompress(self.ASSET_ANACAPA_FLASH) + + self.do_test_arm_aspeed_openbmc('anacapa-bmc', image=3Dimage_path, + uboot=3D'2019.04', cpu_id=3D'0xf00= ', + soc=3D'AST2600 rev A3') + +if __name__ =3D=3D '__main__': + FacebookAspeedTest.main() diff --git a/tests/functional/aspeed.py b/tests/functional/aspeed.py index 47e84e035b..88b6590934 100644 --- a/tests/functional/aspeed.py +++ b/tests/functional/aspeed.py @@ -28,6 +28,9 @@ def do_test_arm_aspeed_openbmc(self, machine, image, uboo= t=3D'2019.04', self.wait_for_console_pattern(f'Booting Linux on physical CPU {cpu= _id}') self.wait_for_console_pattern(f'ASPEED {soc}') self.wait_for_console_pattern('/init as init process') + self.wait_for_boot_complete(hostname) + + def wait_for_boot_complete(self, hostname): self.wait_for_console_pattern(f'systemd[1]: Hostname set to <{host= name}>.') =20 def do_test_arm_aspeed_buildroot_start(self, image, cpu_id, pattern=3D= 'Aspeed EVB'): @@ -69,3 +72,8 @@ def generate_otpmem_image(self): f.write(pattern) return path =20 + +class FacebookAspeedTest(AspeedTest): + + def wait_for_boot_complete(self, hostname): + self.wait_for_console_pattern(f'{hostname} login:') --=20 2.53.0-Meta From nobody Sat May 30 18:35:29 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1778873336; cv=none; d=zohomail.com; s=zohoarc; b=eSLaqPzevbIsq/x5b175bpsfVWU1hIcKKEIsJ/T0/A4NHICEQvdGCD1Vfb4SAunT2s5tgZBHlYgqDJ1b61ZtikGaWlw2yfTeLAuxNRIR+GQjYZW4MYr1H2Ep2rSiHdMjfmNw3T4hUvdNyCrecigbm0s6GrocUNT4gO3O37JK2io= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778873336; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=qOBJngWhKmU5gxuVgiDQnTdPlHV2ECLJRd+JxzO0qfs=; b=UoJXi6ImFCCwymRcaAzfoeOdJECx/Dmalxs8q48kQJwjMLalN32dQc76Z62kibDZ8r42pJusvMGF60Df/LgwIco6SU2gj2O7LQGEzlMaA3YKWDW1NkC+7oe8iKtY8fWdidfbFIoaIMwrwPe3otWBBqu20eNKLKxCKMKoDIY0M60= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778873336596264.26902822470606; Fri, 15 May 2026 12:28:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wNyCe-0001Ck-33; Fri, 15 May 2026 15:28:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wNvpd-0003rw-Iq for qemu-devel@nongnu.org; Fri, 15 May 2026 12:56:13 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wNvpa-0004yT-K8 for qemu-devel@nongnu.org; Fri, 15 May 2026 12:56:13 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-488b0e1b870so355325e9.2 for ; Fri, 15 May 2026 09:56:10 -0700 (PDT) Received: from localhost ([2a03:2880:30ff:48::]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48fe5cab7c5sm75713525e9.12.2026.05.15.09.56.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 09:56:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778864169; x=1779468969; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=qOBJngWhKmU5gxuVgiDQnTdPlHV2ECLJRd+JxzO0qfs=; b=OGJMI3796nCXkYHsv4jeedXW2K3SVODRnoDZ7sAp2C/u2godl8DdSELuY33C2MghCL NY75HDhnMwbLEx+4+KViTG+YDy/1B48Jy3Teu09TX+DyLR8I+kHi4q8FTMV6Up7GOSUr Gi0JN9rm9srlNSHA9ZW17r6PqtlN67lXlMczIIere7muKJF44JVzHXeEZqbtDmIdVezB sHnRAtdjEHUGVAu1Vtwe+ifGrHDEheFK1Vnn5irwhANWXLBaSO0WD9JVPrIu/NKF5tdw 0E2AES1wPpi6QYtx2mdeOEkTsArLk6PZg8XRRDALYG90JgoN4CSqkwLFVR14WIfcNItV OCfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778864169; x=1779468969; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=qOBJngWhKmU5gxuVgiDQnTdPlHV2ECLJRd+JxzO0qfs=; b=hjkUx4LcU+cWXEQLzbtnylW5SuqdLnfyBeaMzqX9vuE4JPNbHxipuYummANVfpV5xH xGhWkDG+C/2TmC7+h6yiIjL5dBAqROFbdpyQu2TiONux9cUgHEJ2pJ34DcHUs9vTq4qO lYaRmmWfhrSUJ8FYmAD40i/89cfnXAQ76IThe/oBn9QPvCFs3FGVEnwQY5rmswDIy5Yl 6lPqWl7iY+ZFR3taktaE3JTiMeQbXfXwJtdunae4PQps/4G7f6SUlmZGqA0a+Tr28Zlr PpR5AqQpYA3AFS4Et10HT81V08UDaS2zk0pP6wSWz40nWGTTzhfXbRpU7O77f9Uepm0M j5EQ== X-Gm-Message-State: AOJu0Yw7RO0E+S3eOxGCNiDvanbLvqReIVGv3VQH9Yevmxcip9xiiZeE Bt45lLQMrISKOVR/PoLhAd97BX+9TS/vIBietAPRsaBQ9y7L4dm5i/Um X-Gm-Gg: Acq92OGlmKbhnDEJ/Copmf0+5vG1NytlhuLqyTu4SG26O9W4ol2Lw17Gw8j50CsayvC hpmxLAmR+y4XykDKK+7t3dIev+i47Xj3zcbOCiKSCtAihOtCrtTtbq77y36O1ls2R40Kp15B6jZ cIlBcl2aIhks2MzxusS6b5nQsU5l2LQhA2tG8CygAjwSCu1dRr1dmzaE2knO/udypsug5FPpDbJ rtktQ04mSiRYLQQGq3N6eNDvEoGQf47+/dF2GD+aceW1xjr9e/Rq0JdHuC4MuQP+WpFI6gjS7/L VQYq6Tr1/avG48At0OO2jELKWykvWAeA9cndnBbHqtnApZHeld7TeZ9gOVtFW9YN+h/18gLCStv w/QHDGKz9El8vHZUUJnVETOHjrgbJ7BpJ9fOA/J86P9qvj0+BU5gd8M1HemaAJrNLsyw3jiNCxj 0C4Cje8i8hTr2pauG36jSl//U= X-Received: by 2002:a05:600d:8451:b0:487:2439:b7be with SMTP id 5b1f17b1804b1-48fe60de750mr63130305e9.6.1778864169024; Fri, 15 May 2026 09:56:09 -0700 (PDT) From: William de Abreu Pinho Date: Fri, 15 May 2026 09:55:51 -0700 Subject: [PATCH 2/2] hw/arm/aspeed: anacapa: add FRU EEPROM data MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260515-add-anacapa-machine-v1-2-9765ce0b9426@gmail.com> References: <20260515-add-anacapa-machine-v1-0-9765ce0b9426@gmail.com> In-Reply-To: <20260515-add-anacapa-machine-v1-0-9765ce0b9426@gmail.com> To: qemu-devel@nongnu.org Cc: =?utf-8?q?C=C3=A9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Jamin Lin , Kane Chen , Andrew Jeffery , Joel Stanley , qemu-arm@nongnu.org, William de Abreu Pinho X-Mailer: b4 0.13.0 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=williamdapinho@gmail.com; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 15 May 2026 15:28:05 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1778873339714158500 Use frugen to generate FRU data for the following components: HPM MB, R-PDB, L-PDB, SCM, BSM, R Bridge Board, L Bridge Board, and HPM board ID. Signed-off-by: William de Abreu Pinho Reviewed-by: C=C3=A9dric Le Goater --- hw/arm/aspeed_ast2600_anacapa.c | 225 ++++++++++++++++++++++++++++++++++++= ++-- 1 file changed, 217 insertions(+), 8 deletions(-) diff --git a/hw/arm/aspeed_ast2600_anacapa.c b/hw/arm/aspeed_ast2600_anacap= a.c index c24f00d44c..a1c8111a93 100644 --- a/hw/arm/aspeed_ast2600_anacapa.c +++ b/hw/arm/aspeed_ast2600_anacapa.c @@ -20,6 +20,207 @@ #define ANACAPA_BMC_HW_STRAP2 0x00000000 #define ANACAPA_BMC_RAM_SIZE ASPEED_RAM_SIZE(2 * GiB) =20 +/* + * "Anacapa HPM (MB)" FRU data. Generated with frugen. + * + * { + * "board": { "mfg": "Inventec", "pname": "Anacapa QEMU MB EVT2", + * "pn": "00000000000", "serial": "00000000000000" }, + * "product": { "mfg": "Inventec", "pname": "CI-Anacapa", + * "pn": "10000000001", "ver": "MP", + * "serial": "10000000000000", "atag": "QEMU" } + * } + */ +static const uint8_t hpm_eeprom[] =3D { + 0x01, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0xf6, 0x01, 0x07, 0x19, 0xb4, + 0xa4, 0xf2, 0xc8, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x63, 0xd4, + 0x41, 0x6e, 0x61, 0x63, 0x61, 0x70, 0x61, 0x20, 0x51, 0x45, 0x4d, 0x55, + 0x20, 0x4d, 0x42, 0x20, 0x45, 0x56, 0x54, 0x32, 0x47, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xc0, + 0xc1, 0x00, 0x00, 0xb8, 0x01, 0x06, 0x19, 0xc8, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x65, 0x63, 0xca, 0x43, 0x49, 0x2d, 0x41, 0x6e, 0x61, 0x63, + 0x61, 0x70, 0x61, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x82, 0x2d, + 0x0c, 0x47, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x71, 0xd9, + 0xd6, 0xc0, 0xc1, 0x0e +}; +static const size_t hpm_eeprom_len =3D sizeof(hpm_eeprom); + +/* + * "Anacapa R-PDB" FRU data. Generated with frugen. + * + * { + * "board": { "mfg": "Inventec", "pname": "Anacapa QEMU RPDB", + * "pn": "00000000000", "serial": "00000000000000" }, + * "product": { "mfg": "Inventec", "pname": "CI-Anacapa", + * "pn": "10000000001", "ver": "MP", + * "serial": "10000000000000", "atag": "QEMU" } + * } + */ +static const uint8_t rpdb_eeprom[] =3D { + 0x01, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0xf6, 0x01, 0x07, 0x19, 0x41, + 0x2d, 0xf2, 0xc8, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x63, 0xd1, + 0x41, 0x6e, 0x61, 0x63, 0x61, 0x70, 0x61, 0x20, 0x51, 0x45, 0x4d, 0x55, + 0x20, 0x52, 0x50, 0x44, 0x42, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xc0, 0xc1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x4d, 0x01, 0x06, 0x19, 0xc8, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x65, 0x63, 0xca, 0x43, 0x49, 0x2d, 0x41, 0x6e, 0x61, 0x63, + 0x61, 0x70, 0x61, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x82, 0x2d, + 0x0c, 0x47, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x71, 0xd9, + 0xd6, 0xc0, 0xc1, 0x0e +}; +static const size_t rpdb_eeprom_len =3D sizeof(rpdb_eeprom); + +/* + * "Anacapa L-PDB" FRU data. Generated with frugen. + * + * { + * "board": { "mfg": "Inventec", "pname": "Anacapa QEMU LPDB", + * "pn": "00000000000", "serial": "00000000000000" }, + * "product": { "mfg": "Inventec", "pname": "CI-Anacapa", + * "pn": "10000000001", "ver": "MP", + * "serial": "10000000000000", "atag": "QEMU" } + * } + */ +static const uint8_t lpdb_eeprom[] =3D { + 0x01, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0xf6, 0x01, 0x07, 0x19, 0x41, + 0x2d, 0xf2, 0xc8, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x63, 0xd1, + 0x41, 0x6e, 0x61, 0x63, 0x61, 0x70, 0x61, 0x20, 0x51, 0x45, 0x4d, 0x55, + 0x20, 0x4c, 0x50, 0x44, 0x42, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xc0, 0xc1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x53, 0x01, 0x06, 0x19, 0xc8, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x65, 0x63, 0xca, 0x43, 0x49, 0x2d, 0x41, 0x6e, 0x61, 0x63, + 0x61, 0x70, 0x61, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x82, 0x2d, + 0x0c, 0x47, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x71, 0xd9, + 0xd6, 0xc0, 0xc1, 0x0e +}; +static const size_t lpdb_eeprom_len =3D sizeof(lpdb_eeprom); + +/* + * "Anacapa SCM" FRU data. Generated with frugen. + * + * { + * "board": { "mfg": "Quanta", "pname": "Anacapa SCM", + * "pn": "00000000000", "serial": "00000000000000" }, + * "product": { "mfg": "Quanta", "pname": "CI-Anacapa", + * "pn": "10000000001", "ver": "MP", + * "serial": "10000000000000", "atag": "QEMU" } + * } + */ +static const uint8_t scm_eeprom[] =3D { + 0x01, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0xf7, 0x01, 0x06, 0x19, 0x41, + 0x2d, 0xf2, 0xc6, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x61, 0xcb, 0x41, 0x6e, + 0x61, 0x63, 0x61, 0x70, 0x61, 0x20, 0x53, 0x43, 0x4d, 0x47, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, + 0xc0, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0x01, 0x06, 0x19, 0xc6, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x61, 0xca, 0x43, 0x49, 0x2d, 0x41, 0x6e, + 0x61, 0x63, 0x61, 0x70, 0x61, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1a, + 0x82, 0x2d, 0x0c, 0x47, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, + 0x71, 0xd9, 0xd6, 0xc0, 0xc1, 0x00, 0x00, 0xe2 +}; +static const size_t scm_eeprom_len =3D sizeof(scm_eeprom); + +/* + * "Anacapa BMC Storage Module" FRU data. Generated with frugen. + * + * { + * "board": { "mfg": "Quanta", "pname": "Anacapa BMC Storage Module", + * "pn": "00000000000", "serial": "00000000000000" }, + * "product": { "mfg": "Quanta", "pname": "CI-Anacapa", + * "pn": "10000000001", "ver": "MP", + * "serial": "10000000000000", "atag": "QEMU" } + * } + */ +static const uint8_t bsm_eeprom[] =3D { + 0x01, 0x00, 0x00, 0x01, 0x0a, 0x00, 0x00, 0xf4, 0x01, 0x09, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x61, 0xda, 0x41, 0x6e, + 0x61, 0x63, 0x61, 0x70, 0x61, 0x20, 0x42, 0x4d, 0x43, 0x20, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0xce, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0xcb, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0xc0, 0xc1, 0x00, 0x00, 0x10, 0x01, 0x08, 0x00, 0xc6, + 0x51, 0x75, 0x61, 0x6e, 0x74, 0x61, 0xca, 0x43, 0x49, 0x2d, 0x41, 0x6e, + 0x61, 0x63, 0x61, 0x70, 0x61, 0xcb, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x31, 0xc2, 0x4d, 0x50, 0xce, 0x31, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xc4, + 0x51, 0x45, 0x4d, 0x55, 0xc0, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +}; +static const size_t bsm_eeprom_len =3D sizeof(bsm_eeprom); + +/* + * "Anacapa R Bridge Board" FRU data. Generated with frugen. + * + * { + * "board": { "mfg": "Inventec", "pname": "Anacapa QEMU RBB EVT2", + * "pn": "00000000000", "serial": "00000000000000" }, + * "product": { "mfg": "Inventec", "pname": "CI-Anacapa", + * "pn": "10000000001", "ver": "MP", + * "serial": "10000000000000", "atag": "QEMU" } + * } + */ +static const uint8_t rbb_eeprom[] =3D { + 0x01, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0xf6, 0x01, 0x07, 0x19, 0xb4, + 0xa4, 0xf2, 0xc8, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x63, 0xd5, + 0x41, 0x6e, 0x61, 0x63, 0x61, 0x70, 0x61, 0x20, 0x51, 0x45, 0x4d, 0x55, + 0x20, 0x52, 0x42, 0x42, 0x20, 0x45, 0x56, 0x54, 0x32, 0x47, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, + 0xc0, 0xc1, 0x00, 0x70, 0x01, 0x06, 0x19, 0xc8, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x65, 0x63, 0xca, 0x43, 0x49, 0x2d, 0x41, 0x6e, 0x61, 0x63, + 0x61, 0x70, 0x61, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x82, 0x2d, + 0x0c, 0x47, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x71, 0xd9, + 0xd6, 0xc0, 0xc1, 0x0e +}; +static const size_t rbb_eeprom_len =3D sizeof(rbb_eeprom); + +/* + * "Anacapa L Bridge Board" FRU data. Generated with frugen. + * + * { + * "board": { "mfg": "Inventec", "pname": "Anacapa QEMU LBB EVT2", + * "pn": "00000000000", "serial": "00000000000000" }, + * "product": { "mfg": "Inventec", "pname": "CI-Anacapa", + * "pn": "10000000001", "ver": "MP", + * "serial": "10000000000000", "atag": "QEMU" } + * } + */ +static const uint8_t lbb_eeprom[] =3D { + 0x01, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0xf6, 0x01, 0x07, 0x19, 0xb4, + 0xa4, 0xf2, 0xc8, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x63, 0xd5, + 0x41, 0x6e, 0x61, 0x63, 0x61, 0x70, 0x61, 0x20, 0x51, 0x45, 0x4d, 0x55, + 0x20, 0x4c, 0x42, 0x42, 0x20, 0x45, 0x56, 0x54, 0x32, 0x47, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, + 0xc0, 0xc1, 0x00, 0x76, 0x01, 0x06, 0x19, 0xc8, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x65, 0x63, 0xca, 0x43, 0x49, 0x2d, 0x41, 0x6e, 0x61, 0x63, + 0x61, 0x70, 0x61, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x82, 0x2d, + 0x0c, 0x47, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x71, 0xd9, + 0xd6, 0xc0, 0xc1, 0x0e +}; +static const size_t lbb_eeprom_len =3D sizeof(lbb_eeprom); + +/* + * "Anacapa HPM BRD ID" FRU data. Generated with frugen. + * + * { + * "board": { "mfg": "Inventec", "pname": "Anacapa HPM BRD ID", + * "pn": "00000000000", "serial": "00000000000000" }, + * "product": { "mfg": "Inventec", "pname": "CI-Anacapa", + * "pn": "10000000001", "ver": "MP", + * "serial": "10000000000000", "atag": "QEMU" } + * } + */ +static const uint8_t hpm_brd_id_eeprom[] =3D { + 0x01, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0xf6, 0x01, 0x07, 0x19, 0x41, + 0x2d, 0xf2, 0xc8, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x63, 0xd2, + 0x41, 0x6e, 0x61, 0x63, 0x61, 0x70, 0x61, 0x20, 0x48, 0x50, 0x4d, 0x20, + 0x42, 0x52, 0x44, 0x20, 0x49, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xc0, 0xc1, 0x00, + 0x00, 0x00, 0x00, 0x42, 0x01, 0x06, 0x19, 0xc8, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x65, 0x63, 0xca, 0x43, 0x49, 0x2d, 0x41, 0x6e, 0x61, 0x63, + 0x61, 0x70, 0x61, 0x46, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x82, 0x2d, + 0x0c, 0x47, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x71, 0xd9, + 0xd6, 0xc0, 0xc1, 0x0e +}; +static const size_t hpm_brd_id_eeprom_len =3D sizeof(hpm_brd_id_eeprom); + static void anacapa_bmc_i2c_init(AspeedMachineState *bmc) { /* Reference: aspeed-bmc-facebook-anacapa.dts */ @@ -50,7 +251,8 @@ static void anacapa_bmc_i2c_init(AspeedMachineState *bmc) =20 /* &i2c6 */ /* eeprom@50 */ - at24c_eeprom_init(i2c[6], 0x50, 32 * KiB); + at24c_eeprom_init_rom(i2c[6], 0x50, 32 * KiB, + hpm_eeprom, hpm_eeprom_len); =20 /* &i2c8 */ /* i2c-mux@72 (PCA9546) */ @@ -65,7 +267,8 @@ static void anacapa_bmc_i2c_init(AspeedMachineState *bmc) i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 0), TYPE_PCA9552, 0x24); /* eeprom@50 */ - at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 0), 0x50, 16 * KiB); + at24c_eeprom_init_rom(pca954x_i2c_get_bus(i2c_mux, 0), 0x50, 16 * KiB, + rpdb_eeprom, rpdb_eeprom_len); =20 /* i2c8mux ch1 */ /* pca9555@22 */ @@ -75,13 +278,16 @@ static void anacapa_bmc_i2c_init(AspeedMachineState *b= mc) i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 1), TYPE_PCA9552, 0x24); /* eeprom@50 */ - at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 1), 0x50, 16 * KiB); + at24c_eeprom_init_rom(pca954x_i2c_get_bus(i2c_mux, 1), 0x50, 16 * KiB, + lpdb_eeprom, lpdb_eeprom_len); =20 /* &i2c9 */ /* eeprom@50 */ - at24c_eeprom_init(i2c[9], 0x50, 16 * KiB); + at24c_eeprom_init_rom(i2c[9], 0x50, 16 * KiB, + scm_eeprom, scm_eeprom_len); /* eeprom@56 */ - at24c_eeprom_init(i2c[9], 0x56, 8 * KiB); + at24c_eeprom_init_rom(i2c[9], 0x56, 8 * KiB, + bsm_eeprom, bsm_eeprom_len); =20 /* &i2c10 */ /* i2c-mux@71 (PCA9548) */ @@ -92,7 +298,8 @@ static void anacapa_bmc_i2c_init(AspeedMachineState *bmc) i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 5), TYPE_PCA9552, 0x22); /* eeprom@52 */ - at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 5), 0x52, 32 * KiB); + at24c_eeprom_init_rom(pca954x_i2c_get_bus(i2c_mux, 5), 0x52, 32 * KiB, + rbb_eeprom, rbb_eeprom_len); =20 /* &i2c11 */ /* i2c-mux@71 (PCA9548) */ @@ -105,7 +312,8 @@ static void anacapa_bmc_i2c_init(AspeedMachineState *bm= c) i2c_slave_create_simple(pca954x_i2c_get_bus(i2c_mux, 5), TYPE_PCA9552, 0x22); /* eeprom@52 */ - at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 5), 0x52, 32 * KiB); + at24c_eeprom_init_rom(pca954x_i2c_get_bus(i2c_mux, 5), 0x52, 32 * KiB, + lbb_eeprom, lbb_eeprom_len); =20 /* &i2c13 */ /* i2c-mux@70 (PCA9548) */ @@ -116,7 +324,8 @@ static void anacapa_bmc_i2c_init(AspeedMachineState *bm= c) =20 /* i2c13mux ch4 */ /* eeprom@51 */ - at24c_eeprom_init(pca954x_i2c_get_bus(i2c_mux, 4), 0x51, 32 * KiB); + at24c_eeprom_init_rom(pca954x_i2c_get_bus(i2c_mux, 4), 0x51, 32 * KiB, + hpm_brd_id_eeprom, hpm_brd_id_eeprom_len); =20 /* i2c13mux ch7 */ /* nfc@28 =E2=80=94 no model */ --=20 2.53.0-Meta