2020-04-05 15:46:56 +02:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
2015-11-24 19:35:06 +01:00
|
|
|
|
|
|
|
#include <cbmem.h>
|
2016-06-28 22:00:30 +02:00
|
|
|
#include <nhlt.h>
|
2016-06-30 00:28:02 +02:00
|
|
|
#include <soc/nvs.h>
|
2015-11-24 19:35:06 +01:00
|
|
|
|
|
|
|
uintptr_t nhlt_soc_serialize(struct nhlt *nhlt, uintptr_t acpi_addr)
|
2016-01-29 01:52:33 +01:00
|
|
|
{
|
2016-11-30 06:14:25 +01:00
|
|
|
return nhlt_soc_serialize_oem_overrides(nhlt, acpi_addr, NULL, NULL, 0);
|
2016-01-29 01:52:33 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
uintptr_t nhlt_soc_serialize_oem_overrides(struct nhlt *nhlt,
|
2016-11-30 06:14:25 +01:00
|
|
|
uintptr_t acpi_addr, const char *oem_id, const char *oem_table_id,
|
|
|
|
uint32_t oem_revision)
|
2015-11-24 19:35:06 +01:00
|
|
|
{
|
|
|
|
global_nvs_t *gnvs;
|
|
|
|
|
|
|
|
gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
|
|
|
|
|
|
|
|
if (gnvs == NULL)
|
|
|
|
return acpi_addr;
|
|
|
|
|
|
|
|
/* Update NHLT GNVS Data */
|
|
|
|
gnvs->nhla = (uintptr_t)acpi_addr;
|
|
|
|
gnvs->nhll = nhlt_current_size(nhlt);
|
|
|
|
|
2016-01-29 01:52:33 +01:00
|
|
|
return nhlt_serialize_oem_overrides(nhlt, acpi_addr,
|
2016-11-30 06:14:25 +01:00
|
|
|
oem_id, oem_table_id, oem_revision);
|
2015-11-24 19:35:06 +01:00
|
|
|
}
|