diff options
author | Angel Pons <th3fanbus@gmail.com> | 2023-03-22 13:25:09 +0100 |
---|---|---|
committer | Lean Sheng Tan <sheng.tan@9elements.com> | 2023-03-24 16:39:17 +0000 |
commit | 56c1c4dff9c7ccd8968a3e32be800375bf3d5b78 (patch) | |
tree | f8614b97e6f66a63fe48cc1558f7e4dc37b12bea /src/mainboard/prodrive/atlas/smbios.c | |
parent | 964079f77cced3aedc468a888b6b6f32cfbec7c9 (diff) |
mb/prodrive/atlas: Implement initial VPD support
Atlas stores VPD (Vital Product Data) in an I2C EEPROM, which is only
connected to the EC. In order for the host (x86) to be able to access
the VPD, the EC reads the EEPROM contents into a buffer in EC RAM and
provides the host with read-only access to this EC RAM buffer through
EMI (Embedded Memory Interface) 0.
The VPD layout is designed to be extensible yet backwards compatible.
The code in coreboot uses the revision field to know which fields are
valid, and will populate the rest with fallback values.
Use the serial number and part number in VPD to populate SMBIOS tables.
Change-Id: I2d3d70fee22548daa73ef98af56c98e950dc5e9d
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73937
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Diffstat (limited to 'src/mainboard/prodrive/atlas/smbios.c')
-rw-r--r-- | src/mainboard/prodrive/atlas/smbios.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mainboard/prodrive/atlas/smbios.c b/src/mainboard/prodrive/atlas/smbios.c new file mode 100644 index 0000000000..1167a807ac --- /dev/null +++ b/src/mainboard/prodrive/atlas/smbios.c @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <smbios.h> + +#include "vpd.h" + +const char *smbios_mainboard_serial_number(void) +{ + return get_emi_eeprom_vpd()->serial_number; +} |