summaryrefslogtreecommitdiff
path: root/util/sconfig
diff options
context:
space:
mode:
authorFrans Hendriks <fhendriks@eltan.com>2021-01-20 07:40:05 +0100
committerPatrick Georgi <pgeorgi@google.com>2021-01-22 14:27:56 +0000
commit3a7db27f459ed6ff654e24e444310ca257459193 (patch)
treeebdea7f5ad7e0f1e7a5f27345030ca54feef10f3 /util/sconfig
parent1b5b41a790110a44dd7964fbd426becda4183a62 (diff)
downloadcoreboot-3a7db27f459ed6ff654e24e444310ca257459193.tar.xz
sconfig: Handle smbios_slot_desc in overridetree
SMBIOS slot information in overrridetree is not overriden if device already exist in devicetree. Add support to handle this information from override. BUG= N/A TEST= Verify generated static.c on Intel Coffee Lake CRB Change-Id: I532436aee1d71b79171463124f7b205c145d5b05 Signed-off-by: Frans Hendriks <fhendriks@eltan.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/49738 Reviewed-by: Wim Vervoorn <wvervoorn@eltan.com> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'util/sconfig')
-rw-r--r--util/sconfig/main.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/util/sconfig/main.c b/util/sconfig/main.c
index 99e76adbff..ca5389e50a 100644
--- a/util/sconfig/main.c
+++ b/util/sconfig/main.c
@@ -1548,6 +1548,12 @@ static void override_devicetree(struct bus *base_parent,
* | | |
* +-----------------------------------------------------------------+
* | | |
+ * | smbios_slot info | Copy SMBIOS slot information from override.|
+ * | | This allows variants to override PCI(e) |
+ * | | slot information in SMBIOS tables. |
+ * | | |
+ * +-----------------------------------------------------------------+
+ * | | |
* | chip_instance | Each register of chip_instance is copied |
* | | over from override device to base device: |
* | | 1. If register with same key is present in |
@@ -1658,6 +1664,12 @@ static void update_device(struct device *base_dev, struct device *override_dev)
*/
base_dev->probe = override_dev->probe;
+ /* Copy SMBIOS slot information from base device */
+ base_dev->smbios_slot_type = override_dev->smbios_slot_type;
+ base_dev->smbios_slot_length = override_dev->smbios_slot_length;
+ base_dev->smbios_slot_data_width = override_dev->smbios_slot_data_width;
+ base_dev->smbios_slot_designation = override_dev->smbios_slot_designation;
+
/*
* Update base_chip_instance member in chip instance of override tree to forward it to
* the chip instance in base tree.