summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2016-10-27 13:24:06 -0500
committerAaron Durbin <adurbin@chromium.org>2016-10-28 19:02:35 +0200
commit083e2e4ec4a78a19f0b00e54c649830151c18f4d (patch)
tree2d309a3a347b8ed193b9ab757f4db3b0878159ce /src
parent558c8a57b9f4d7391304e7b50f3ee393c436015e (diff)
downloadcoreboot-083e2e4ec4a78a19f0b00e54c649830151c18f4d.tar.xz
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@chromium.org> Reviewed-on: https://review.coreboot.org/17167 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/google/reef/mainboard.c11
-rw-r--r--src/mainboard/google/reef/variants/baseboard/include/baseboard/variants.h2
2 files changed, 12 insertions, 1 deletions
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 */