mainboard/intel/apollolake_rvp: Include FADT tables

Include SOC specific FADT tables to current mainboard.

Change-Id: Id4099528657304e9f7675c839e7666c58f189004
Signed-off-by: Lance Zhao <lijian.zhao@intel.com>
Reviewed-on: https://review.coreboot.org/13353
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
Reviewed-by: Andrey Petrov <andrey.petrov@intel.com>
This commit is contained in:
Lance Zhao 2015-11-11 15:14:29 -08:00 committed by Aaron Durbin
parent 62c8dbe970
commit b0801e11f0
1 changed files with 27 additions and 2 deletions

View File

@ -2,7 +2,7 @@
* This file is part of the coreboot project. * This file is part of the coreboot project.
* *
* Copyright (C) 2016 Intel Corp. * Copyright (C) 2016 Intel Corp.
* (Written by Lijian Zhao <lijian.zhao@intel.com> for Intel Corp.) * (Written by Lance Zhao <lijian.zhao@intel.com> for Intel Corp.)
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -10,8 +10,33 @@
* (at your option) any later version. * (at your option) any later version.
*/ */
#include <arch/acpi.h> #include <string.h>
#include <soc/acpi.h>
void acpi_create_fadt(acpi_fadt_t *fadt, acpi_facs_t *facs, void *dsdt) void acpi_create_fadt(acpi_fadt_t *fadt, acpi_facs_t *facs, void *dsdt)
{ {
acpi_header_t *header = &(fadt->header);
memset(fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = sizeof(acpi_fadt_t);
header->revision = 5; /* Major Revision of ACPI5.0 */
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, ACPI_TABLE_CREATOR, 8);
memcpy(header->asl_compiler_id, ASLC, 4);
header->asl_compiler_revision = 20150717; /* iASL verison */
fadt->firmware_ctrl = (uintptr_t)facs;
fadt->dsdt = (uintptr_t)dsdt;
fadt->model = 1; /* compatibilty with ACPI1.0 */
fadt->preferred_pm_profile = PM_MOBILE;
fadt->x_firmware_ctl_l = (uintptr_t)facs;
fadt->x_firmware_ctl_h = 0; /* 32bit physical address */
fadt->x_dsdt_l = (uintptr_t)dsdt;
fadt->x_dsdt_h = 0; /* 32bit physical address */
soc_fill_common_fadt(fadt);
header->checksum = acpi_checksum((void *)fadt, header->length);
} }