From 16ff85971f67d436d1375a86a3f5221b6ba9ee63 Mon Sep 17 00:00:00 2001 From: "Fang, Yang A" Date: Thu, 28 Jan 2016 16:52:33 -0800 Subject: 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 Original-Commit-Id: 374ce08b2d8a2f4e5dd7f51eacb505dbb77fd171 Original-Change-Id: I03623c8ac81efb5a5ea3ec9c6cd604d2e9294022 Original-Signed-off-by: Fang, Yang A Original-Reviewed-on: https://chromium-review.googlesource.com/322860 Original-Commit-Ready: Yang Fang Original-Tested-by: Yang Fang Original-Reviewed-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/13602 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- src/include/nhlt.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/include') diff --git a/src/include/nhlt.h b/src/include/nhlt.h index ca1669381c..f0b3b6f5e7 100644 --- a/src/include/nhlt.h +++ b/src/include/nhlt.h @@ -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, -- cgit v1.2.3