From 083e2e4ec4a78a19f0b00e54c649830151c18f4d Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Thu, 27 Oct 2016 13:24:06 -0500 Subject: [PATCH] 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 Reviewed-on: https://review.coreboot.org/17167 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh Reviewed-by: Paul Menzel Reviewed-by: Sathyanarayana Nujella --- src/mainboard/google/reef/mainboard.c | 11 ++++++++++- .../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 3f23a77847..4d4ef53ff8 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 9f2ed0623c..31ee3d0031 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 */