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:
		| @@ -41,12 +41,19 @@ static void mainboard_init(void *chip_info) | ||||
| 	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( | ||||
| 	device_t device, unsigned long current, acpi_rsdp_t *rsdp) | ||||
| { | ||||
| 	uintptr_t start_addr; | ||||
| 	uintptr_t end_addr; | ||||
| 	struct nhlt *nhlt; | ||||
| 	const char *oem_id = NULL; | ||||
| 	const char *oem_table_id = NULL; | ||||
|  | ||||
| 	start_addr = current; | ||||
|  | ||||
| @@ -56,8 +63,10 @@ static unsigned long mainboard_write_acpi_tables( | ||||
| 		return start_addr; | ||||
|  | ||||
| 	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) | ||||
| 		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. */ | ||||
| struct nhlt; | ||||
| void variant_nhlt_oem_strings(const char **oem_id, | ||||
| 			const char **oem_table_id); | ||||
| void variant_nhlt_init(struct nhlt *nhlt); | ||||
|  | ||||
| #endif /* BASEBOARD_VARIANTS_H */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user