blob: 96715555be682ef3a00d1ea4926ad8e0429944ab [file] [log] [blame]
Angel Ponsa15dea92021-06-07 18:08:23 +02001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <smbios.h>
Elyes Haouasbdd03c22024-05-27 11:20:07 +02004#include <stdio.h>
Patrick Rudolph7b459202021-06-21 10:57:58 +02005#include <string.h>
Angel Pons0b697a242021-11-25 13:34:11 +01006#include <types.h>
Angel Ponsa15dea92021-06-07 18:08:23 +02007
Angel Ponse81560c2021-11-25 13:15:07 +01008#include "eeprom.h"
Angel Ponsa15dea92021-06-07 18:08:23 +02009
10const char *smbios_system_serial_number(void)
11{
12 const size_t offset = offsetof(struct eeprom_layout, system_serial_number);
Angel Ponsb9af5132022-09-01 15:21:34 +020013 return eeprom_read_serial(offset, CONFIG_MAINBOARD_SERIAL_NUMBER);
Angel Ponsa15dea92021-06-07 18:08:23 +020014}
15
16const char *smbios_mainboard_serial_number(void)
17{
18 const size_t offset = offsetof(struct eeprom_layout, board_serial_number);
Angel Ponsb9af5132022-09-01 15:21:34 +020019 return eeprom_read_serial(offset, CONFIG_MAINBOARD_SERIAL_NUMBER);
Angel Ponsa15dea92021-06-07 18:08:23 +020020}
Patrick Rudolph7b459202021-06-21 10:57:58 +020021
22const char *smbios_mainboard_version(void)
23{
24 static char version_str[8] = { 0 };
25
26 snprintf(version_str, sizeof(version_str), "HSI %u", get_bmc_hsi());
27
28 return version_str;
29}