blob: 39baf016c2fd2547f250bf552ee10840f781c528 [file] [log] [blame]
Angel Pons0612b272020-04-05 15:46:56 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Aaron Durbined8a7232015-11-24 12:35:06 -06002
Kyösti Mälkki5daa1d32020-06-14 12:01:58 +03003#include <acpi/acpi_gnvs.h>
Aaron Durbine9657bc2016-06-28 15:00:30 -05004#include <nhlt.h>
Aaron Durbin36de4652016-06-29 17:28:02 -05005#include <soc/nvs.h>
Aaron Durbined8a7232015-11-24 12:35:06 -06006
7uintptr_t nhlt_soc_serialize(struct nhlt *nhlt, uintptr_t acpi_addr)
8{
Aaron Durbinb4afe3c2016-11-29 23:14:25 -06009 return nhlt_soc_serialize_oem_overrides(nhlt, acpi_addr, NULL, NULL, 0);
Fang, Yang A16ff8592016-01-28 16:52:33 -080010}
11
12uintptr_t nhlt_soc_serialize_oem_overrides(struct nhlt *nhlt,
Aaron Durbinb4afe3c2016-11-29 23:14:25 -060013 uintptr_t acpi_addr, const char *oem_id, const char *oem_table_id,
14 uint32_t oem_revision)
Fang, Yang A16ff8592016-01-28 16:52:33 -080015{
Kyösti Mälkki0c1dd9c2020-06-17 23:37:49 +030016 struct global_nvs *gnvs;
Aaron Durbined8a7232015-11-24 12:35:06 -060017
Kyösti Mälkki5daa1d32020-06-14 12:01:58 +030018 gnvs = acpi_get_gnvs();
Aaron Durbined8a7232015-11-24 12:35:06 -060019
20 if (gnvs == NULL)
21 return acpi_addr;
22
23 /* Update NHLT GNVS Data */
24 gnvs->nhla = (uintptr_t)acpi_addr;
25 gnvs->nhll = nhlt_current_size(nhlt);
26
Fang, Yang A16ff8592016-01-28 16:52:33 -080027 return nhlt_serialize_oem_overrides(nhlt, acpi_addr,
Aaron Durbinb4afe3c2016-11-29 23:14:25 -060028 oem_id, oem_table_id, oem_revision);
Aaron Durbined8a7232015-11-24 12:35:06 -060029}