On Sat, Jan 14, 2023 at 09:01:45AM -0800, Peter Delevoryas wrote:
> This cleans up some of the code we have creating at24c-eeprom objects in the
> Aspeed and Nuvoton files, and adds an example of how to initialize a FRUID
> EEPROM with static data using I2C transfers.
>
> Initially I was going to propose a patch to update the at24c-eeprom realize
> function to incorporate static data, but then I realized I could just
> accomplish the same thing using i2c_send in board reset. The patch at the end
> demonstrates this.
1. I messed up Joel's email on this thread, sorry about that.
2. I forgot to post the output of the test I used to verify this:
qemu-system-aarch64 -machine fby35-bmc -nographic -mtdblock flash-fby35
...
root@bmc-oob:~# fruid-util bmc
FRU Information : BMC
--------------- : ------------------
Board Mfg Date : Mon Jan 10 21:42:00 2022
Board Mfg : XXXXXX
Board Product : BMC Storage Module
Board Serial : XXXXXXXXXXXXX
Board Part Number : XXXXXXXXXXXXXX
Board FRU ID : 1.0
Board Custom Data 1 : XXXXXXXXX
Board Custom Data 2 : XXXXXXXXXXXXXXXXXX
Product Manufacturer : XXXXXX
Product Name : Yosemite V3.5 EVT2
Product Part Number : XXXXXXXXXXXXXX
Product Version : EVT2
Product Serial : XXXXXXXXXXXXX
Product Asset Tag : XXXXXXX
Product FRU ID : 1.0
Product Custom Data 1 : XXXXXXXXX
Product Custom Data 2 : Config A
A reference flash-fby35 image can be found here:
https://github.com/facebook/openbmc/releases/download/openbmc-e2294ff5d31d/fby35.mtd
>
> Thanks,
> Peter
>
> Peter Delevoryas (6):
> hw/nvram/eeprom_at24c: Add header w/ init helper
> hw/arm/aspeed: Remove local copy of at24c_eeprom_init
> hw/arm/aspeed: Replace aspeed_eeprom_init with at24c_eeprom_init
> hw/arm/npcm7xx: Remove local copy of at24c_eeprom_init
> hw/nvram/eeprom_at24c: Add I2C write helper
> hw/arm/aspeed: Init fby35 BMC FRUID EEPROM
>
> hw/arm/aspeed.c | 154 +++++++++++++++++++-------------
> hw/arm/npcm7xx_boards.c | 20 ++---
> hw/nvram/eeprom_at24c.c | 25 ++++++
> include/hw/nvram/eeprom_at24c.h | 12 +++
> 4 files changed, 135 insertions(+), 76 deletions(-)
> create mode 100644 include/hw/nvram/eeprom_at24c.h
>
> --
> 2.39.0
>
>