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>
This commit is contained in:
parent
558c8a57b9
commit
083e2e4ec4
|
@ -41,12 +41,19 @@ static void mainboard_init(void *chip_info)
|
||||||
mainboard_ec_init();
|
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(
|
static unsigned long mainboard_write_acpi_tables(
|
||||||
device_t device, unsigned long current, acpi_rsdp_t *rsdp)
|
device_t device, unsigned long current, acpi_rsdp_t *rsdp)
|
||||||
{
|
{
|
||||||
uintptr_t start_addr;
|
uintptr_t start_addr;
|
||||||
uintptr_t end_addr;
|
uintptr_t end_addr;
|
||||||
struct nhlt *nhlt;
|
struct nhlt *nhlt;
|
||||||
|
const char *oem_id = NULL;
|
||||||
|
const char *oem_table_id = NULL;
|
||||||
|
|
||||||
start_addr = current;
|
start_addr = current;
|
||||||
|
|
||||||
|
@ -56,8 +63,10 @@ static unsigned long mainboard_write_acpi_tables(
|
||||||
return start_addr;
|
return start_addr;
|
||||||
|
|
||||||
variant_nhlt_init(nhlt);
|
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)
|
if (end_addr != start_addr)
|
||||||
acpi_add_table(rsdp, (void *)start_addr);
|
acpi_add_table(rsdp, (void *)start_addr);
|
||||||
|
|
|
@ -42,6 +42,8 @@ const struct cros_gpio *variant_cros_gpios(size_t *num);
|
||||||
|
|
||||||
/* Seed the NHLT tables with the board specific information. */
|
/* Seed the NHLT tables with the board specific information. */
|
||||||
struct nhlt;
|
struct nhlt;
|
||||||
|
void variant_nhlt_oem_strings(const char **oem_id,
|
||||||
|
const char **oem_table_id);
|
||||||
void variant_nhlt_init(struct nhlt *nhlt);
|
void variant_nhlt_init(struct nhlt *nhlt);
|
||||||
|
|
||||||
#endif /* BASEBOARD_VARIANTS_H */
|
#endif /* BASEBOARD_VARIANTS_H */
|
||||||
|
|
Loading…
Reference in New Issue