[coreboot-gerrit] New patch to review for coreboot: mainboard/google/reef: allow variants to override NHLT OEM strings

Aaron Durbin (adurbin@chromium.org) gerrit at coreboot.org
Thu Oct 27 20:26:12 CEST 2016


Aaron Durbin (adurbin at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17167

-gerrit

commit 6a917a75a65fd61164e0694f57106363129a58b2
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Thu Oct 27 13:24:06 2016 -0500

    mainboard/google/reef: allow variants to override NHLT OEM strings
    
    In certain cases a board variant may need to override the NHLT
    OEM strings in the main NHLT table. Therefore, provide that path.
    
    BUG=chrome-os-partner:56918
    
    Change-Id: I57cc4fd3665698e41ceebb1949180f86bb60b61f
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
 src/mainboard/google/reef/mainboard.c                         | 11 ++++++++++-
 .../reef/variants/baseboard/include/baseboard/variants.h      |  2 ++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/mainboard/google/reef/mainboard.c b/src/mainboard/google/reef/mainboard.c
index 3f23a77..4d4ef53 100644
--- a/src/mainboard/google/reef/mainboard.c
+++ b/src/mainboard/google/reef/mainboard.c
@@ -41,12 +41,19 @@ static void mainboard_init(void *chip_info)
 	mainboard_ec_init();
 }
 
+void __attribute__((weak)) variant_nhlt_oem_strings(const char **oem_id,
+						const char **oem_table_id)
+{
+}
+
 static unsigned long mainboard_write_acpi_tables(
 	device_t device, unsigned long current, acpi_rsdp_t *rsdp)
 {
 	uintptr_t start_addr;
 	uintptr_t end_addr;
 	struct nhlt *nhlt;
+	const char *oem_id = NULL;
+	const char *oem_table_id = NULL;
 
 	start_addr = current;
 
@@ -56,8 +63,10 @@ static unsigned long mainboard_write_acpi_tables(
 		return start_addr;
 
 	variant_nhlt_init(nhlt);
+	variant_nhlt_oem_strings(&oem_id, &oem_table_id);
 
-	end_addr = nhlt_soc_serialize(nhlt, start_addr);
+	end_addr = nhlt_soc_serialize_oem_overrides(nhlt, start_addr,
+			oem_id, oem_table_id);
 
 	if (end_addr != start_addr)
 		acpi_add_table(rsdp, (void *)start_addr);
diff --git a/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h
index 9f2ed06..31ee3d0 100644
--- a/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h
@@ -42,6 +42,8 @@ const struct cros_gpio *variant_cros_gpios(size_t *num);
 
 /* Seed the NHLT tables with the board specific information. */
 struct nhlt;
+void variant_nhlt_oem_strings(const char **oem_id,
+			const char **oem_table_id);
 void variant_nhlt_init(struct nhlt *nhlt);
 
 #endif /* BASEBOARD_VARIANTS_H */



More information about the coreboot-gerrit mailing list