summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Serbinenko <phcoder@gmail.com>2015-05-30 23:08:26 +0200
committerVladimir Serbinenko <phcoder@gmail.com>2015-06-11 13:20:56 +0200
commit0afdec4cdcb8f5e6591674864fa66dbede2b8070 (patch)
treef13bbe9f8ef7f43eb07fc7179a73276a0e10eb6e
parent1a1a826276117514d7a9faf06d6ee8e1c0d099d9 (diff)
lenovo: Hide SMBIOS config
It's derived from EEPROM on Lenovo machines and not from user config which is ignored. Change-Id: I54fb76a3160e47cd36d33d2937c4bfaddcd36a69 Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com> Reviewed-on: http://review.coreboot.org/7055 Tested-by: build bot (Jenkins) Reviewed-by: Nicolas Reinecke <nr@das-labor.org>
-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";
+}