nhlt: add api to override oem_id and oem_table_id of acpi_header_t

This patch added nhlt_soc_serialize_oem_overrides and
nhlt_serilalize_oem_overrides to be able to override oem_id and
oem_table_id.board file can pass specific string by calling
nhlt_soc_serialize_oem_overrides

kernel use these two fields to construct a topology binary name
if the designate file is not found a default dfw_sst.bin will be used
it is optional.

BUG=chrome-os-partner:49570
BRANCH=glados
TEST=Build & Booted kunimitsu board. Verified that kernel
can read new strings.

Change-Id: I00b64fb8bb63de601d3116e0b8941057c1efa230
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 374ce08b2d8a2f4e5dd7f51eacb505dbb77fd171
Original-Change-Id: I03623c8ac81efb5a5ea3ec9c6cd604d2e9294022
Original-Signed-off-by: Fang, Yang A <yang.a.fang@intel.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/322860
Original-Commit-Ready: Yang Fang <yang.a.fang@intel.com>
Original-Tested-by: Yang Fang <yang.a.fang@intel.com>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/13602
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
Fang, Yang A
2016-01-28 16:52:33 -08:00
committed by Patrick Georgi
parent 0165038561
commit 16ff85971f
3 changed files with 45 additions and 3 deletions

View File

@ -124,6 +124,15 @@ void nhlt_next_instance(struct nhlt *nhlt, int link_type);
*/
uintptr_t nhlt_serialize(struct nhlt *nhlt, uintptr_t acpi_addr);
/*
* Serialize NHLT object to ACPI table. Take in the beginning address of where
* the table will reside oem_id and oem_table_id and return the address of the
* next ACPI table. On error 0 will be returned. The NHLT object is no longer
* valid after thisfunction is called.
*/
uintptr_t nhlt_serialize_oem_overrides(struct nhlt *nhlt, uintptr_t acpi_addr,
const char *oem_id, const char *oem_table_id);
/*
* While very similar to nhlt_serialize() the SoC specific function allows
* the chipset to perform any needed accounting work such as updating ACPI
@ -131,6 +140,14 @@ uintptr_t nhlt_serialize(struct nhlt *nhlt, uintptr_t acpi_addr);
*/
uintptr_t nhlt_soc_serialize(struct nhlt *nhlt, uintptr_t acpi_addr);
/*
* While very similar to nhlt_serialize_oem_overrides() the SoC specific
* function allows the chipset to perform any needed accounting work such
* as updating ACPI field references for the serialized structure.
*/
uintptr_t nhlt_soc_serialize_oem_overrides(struct nhlt *nhlt,
uintptr_t acpi_addr, const char *oem_id, const char *oem_table_id);
/* Link and device types. */
enum {
NHLT_LINK_HDA,