summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Kconfig8
-rw-r--r--src/arch/x86/boot/smbios.c3
-rw-r--r--src/drivers/i2c/Kconfig1
-rw-r--r--src/drivers/i2c/at24rf08c/Kconfig7
-rw-r--r--src/drivers/i2c/at24rf08c/lenovo_serials.c5
5 files changed, 24 insertions, 0 deletions
diff --git a/src/Kconfig b/src/Kconfig
index a3a78955b7..b7d2e67b7a 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -588,9 +588,14 @@ config GENERATE_SMBIOS_TABLES
If unsure, say Y.
+config SMBIOS_PROVIDED_BY_MOBO
+ bool
+ default n
+
config MAINBOARD_SERIAL_NUMBER
string "SMBIOS Serial Number"
depends on GENERATE_SMBIOS_TABLES
+ depends on !SMBIOS_PROVIDED_BY_MOBO
default "123456789"
help
The Serial Number to store in SMBIOS structures.
@@ -598,6 +603,7 @@ config MAINBOARD_SERIAL_NUMBER
config MAINBOARD_VERSION
string "SMBIOS Version Number"
depends on GENERATE_SMBIOS_TABLES
+ depends on !SMBIOS_PROVIDED_BY_MOBO
default "1.0"
help
The Version Number to store in SMBIOS structures.
@@ -605,6 +611,7 @@ config MAINBOARD_VERSION
config MAINBOARD_SMBIOS_MANUFACTURER
string "SMBIOS Manufacturer"
depends on GENERATE_SMBIOS_TABLES
+ depends on !SMBIOS_PROVIDED_BY_MOBO
default MAINBOARD_VENDOR
help
Override the default Manufacturer stored in SMBIOS structures.
@@ -612,6 +619,7 @@ config MAINBOARD_SMBIOS_MANUFACTURER
config MAINBOARD_SMBIOS_PRODUCT_NAME
string "SMBIOS Product name"
depends on GENERATE_SMBIOS_TABLES
+ depends on !SMBIOS_PROVIDED_BY_MOBO
default MAINBOARD_PART_NUMBER
help
Override the default Product name stored in SMBIOS structures.
diff --git a/src/arch/x86/boot/smbios.c b/src/arch/x86/boot/smbios.c
index 2f1226dd7a..1dbe32dc2d 100644
--- a/src/arch/x86/boot/smbios.c
+++ b/src/arch/x86/boot/smbios.c
@@ -281,6 +281,8 @@ static int smbios_write_type0(unsigned long *current, int handle)
return len;
}
+#if !CONFIG_SMBIOS_PROVIDED_BY_MOBO
+
const char *__attribute__((weak)) smbios_mainboard_serial_number(void)
{
return CONFIG_MAINBOARD_SERIAL_NUMBER;
@@ -305,6 +307,7 @@ void __attribute__((weak)) smbios_mainboard_set_uuid(u8 *uuid)
{
/* leave all zero */
}
+#endif
#ifdef CONFIG_MAINBOARD_FAMILY
const char *smbios_mainboard_family(void)
diff --git a/src/drivers/i2c/Kconfig b/src/drivers/i2c/Kconfig
index 1949fa6d3b..2831c3fe3a 100644
--- a/src/drivers/i2c/Kconfig
+++ b/src/drivers/i2c/Kconfig
@@ -1,6 +1,7 @@
source src/drivers/i2c/adm1026/Kconfig
source src/drivers/i2c/adm1027/Kconfig
source src/drivers/i2c/adt7463/Kconfig
+source src/drivers/i2c/at24rf08c/Kconfig
source src/drivers/i2c/i2cmux/Kconfig
source src/drivers/i2c/i2cmux2/Kconfig
source src/drivers/i2c/lm63/Kconfig
diff --git a/src/drivers/i2c/at24rf08c/Kconfig b/src/drivers/i2c/at24rf08c/Kconfig
new file mode 100644
index 0000000000..e8ee9863e9
--- /dev/null
+++ b/src/drivers/i2c/at24rf08c/Kconfig
@@ -0,0 +1,7 @@
+if VENDOR_LENOVO
+
+config SMBIOS_PROVIDED_BY_MOBO
+ bool
+ default y
+
+endif
diff --git a/src/drivers/i2c/at24rf08c/lenovo_serials.c b/src/drivers/i2c/at24rf08c/lenovo_serials.c
index a5f18897ce..6595dd3c22 100644
--- a/src/drivers/i2c/at24rf08c/lenovo_serials.c
+++ b/src/drivers/i2c/at24rf08c/lenovo_serials.c
@@ -213,3 +213,8 @@ const char *smbios_mainboard_bios_version(void)
s = strconcat("CBET4000 ", coreboot_version);
return s;
}
+
+const char *smbios_mainboard_manufacturer(void)
+{
+ return "LENOVO";
+}