soc/intel/apollolake: use common FADT infrastructure
Instead of having the mainboards duplicate the same boilerplate code utilize the common FADT infrastructure to reduce duplication. Change-Id: If824619fd619433974e588050a933d2c19b97ec8 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/14779 Tested-by: build bot (Jenkins) Reviewed-by: Duncan Laurie <dlaurie@google.com> Reviewed-by: Andrey Petrov <andrey.petrov@intel.com> Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
parent
d867b7d87c
commit
c3ee3f6d7e
|
@ -12,6 +12,7 @@ config BOARD_SPECIFIC_OPTIONS
|
||||||
select MAINBOARD_HAS_LPC_TPM
|
select MAINBOARD_HAS_LPC_TPM
|
||||||
select HAVE_ACPI_RESUME
|
select HAVE_ACPI_RESUME
|
||||||
select MAINBOARD_HAS_CHROMEOS
|
select MAINBOARD_HAS_CHROMEOS
|
||||||
|
select SYSTEM_TYPE_LAPTOP
|
||||||
select TPM_ON_FAST_SPI
|
select TPM_ON_FAST_SPI
|
||||||
|
|
||||||
config CHROMEOS
|
config CHROMEOS
|
||||||
|
|
|
@ -1,13 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2015 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
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; version 2 of the License.
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -15,33 +9,6 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
/*
|
||||||
#include <soc/acpi.h>
|
* Blank file required by build system assumptions of this file being present.
|
||||||
|
*/
|
||||||
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;
|
|
||||||
memcpy(header->oem_id, OEM_ID, ARRAY_SIZE(header->oem_id));
|
|
||||||
memcpy(header->oem_table_id, ACPI_TABLE_CREATOR, ARRAY_SIZE(header->oem_table_id));
|
|
||||||
memcpy(header->asl_compiler_id, ASLC, ARRAY_SIZE(header->asl_compiler_id));
|
|
||||||
header->asl_compiler_revision = 1;
|
|
||||||
|
|
||||||
fadt->firmware_ctrl = (uintptr_t)facs;
|
|
||||||
fadt->dsdt = (uintptr_t)dsdt;
|
|
||||||
fadt->model = 1;
|
|
||||||
fadt->preferred_pm_profile = PM_MOBILE;
|
|
||||||
|
|
||||||
fadt->x_firmware_ctl_l = (uintptr_t)facs;
|
|
||||||
fadt->x_firmware_ctl_h = 0;
|
|
||||||
fadt->x_dsdt_l = (uintptr_t)dsdt;
|
|
||||||
fadt->x_dsdt_h = 0;
|
|
||||||
|
|
||||||
soc_fill_common_fadt(fadt);
|
|
||||||
|
|
||||||
header->checksum = acpi_checksum((void *)fadt, header->length);
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,13 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2016 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
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; version 2 of the License.
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
@ -15,33 +9,6 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
/*
|
||||||
#include <soc/acpi.h>
|
* Blank file required by build system assumptions of this file being present.
|
||||||
|
*/
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ config CPU_SPECIFIC_OPTIONS
|
||||||
# Misc options
|
# Misc options
|
||||||
select C_ENVIRONMENT_BOOTBLOCK
|
select C_ENVIRONMENT_BOOTBLOCK
|
||||||
select COLLECT_TIMESTAMPS
|
select COLLECT_TIMESTAMPS
|
||||||
|
select COMMON_FADT
|
||||||
select HAVE_INTEL_FIRMWARE
|
select HAVE_INTEL_FIRMWARE
|
||||||
select MMCONF_SUPPORT
|
select MMCONF_SUPPORT
|
||||||
select MMCONF_SUPPORT_DEFAULT
|
select MMCONF_SUPPORT_DEFAULT
|
||||||
|
|
|
@ -67,10 +67,13 @@ unsigned long acpi_fill_madt(unsigned long current)
|
||||||
return acpi_madt_irq_overrides(current);
|
return acpi_madt_irq_overrides(current);
|
||||||
}
|
}
|
||||||
|
|
||||||
void soc_fill_common_fadt(acpi_fadt_t * fadt)
|
void acpi_fill_fadt(acpi_fadt_t * fadt)
|
||||||
{
|
{
|
||||||
const uint16_t pmbase = ACPI_PMIO_BASE;
|
const uint16_t pmbase = ACPI_PMIO_BASE;
|
||||||
|
|
||||||
|
/* Use ACPI 5.0 revision. */
|
||||||
|
fadt->header.revision = ACPI_FADT_REV_ACPI_5_0;
|
||||||
|
|
||||||
fadt->sci_int = acpi_sci_irq();
|
fadt->sci_int = acpi_sci_irq();
|
||||||
fadt->smi_cmd = 0; /* No Smi Handler as SMI_CMD is 0*/
|
fadt->smi_cmd = 0; /* No Smi Handler as SMI_CMD is 0*/
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,6 @@
|
||||||
|
|
||||||
#include <arch/acpi.h>
|
#include <arch/acpi.h>
|
||||||
|
|
||||||
void soc_fill_common_fadt(acpi_fadt_t * fadt);
|
|
||||||
|
|
||||||
unsigned long southbridge_write_acpi_tables(device_t device,
|
unsigned long southbridge_write_acpi_tables(device_t device,
|
||||||
unsigned long current, struct acpi_rsdp *rsdp);
|
unsigned long current, struct acpi_rsdp *rsdp);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue