[coreboot-gerrit] Patch set updated for coreboot: soc/apollolake/acpi: Fill ACPI HPET table

Andrey Petrov (andrey.petrov@intel.com) gerrit at coreboot.org
Tue Apr 5 01:19:33 CEST 2016


Andrey Petrov (andrey.petrov at intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13374

-gerrit

commit be2570c5e31d4c2f0ef8aa060cc8325d7512ee4b
Author: Zhao, Lijian <lijian.zhao at intel.com>
Date:   Tue Dec 1 09:14:20 2015 -0800

    soc/apollolake/acpi: Fill ACPI HPET table
    
    HPET table is required to report integrated HPET timer to kernel.
    Without HPET table added,Linux kernel will panic when loading timer
    driver.
    
    Change-Id: I7368bc29f4e03d5882dcfc4a770fa7bfbc6c26a0
    Signed-off-by: Zhao, Lijian <lijian.zhao at intel.com>
---
 src/soc/intel/apollolake/acpi.c             |  7 +++++++
 src/soc/intel/apollolake/include/soc/acpi.h | 24 ++++++++++++++++++++++++
 src/soc/intel/apollolake/lpc.c              |  2 ++
 3 files changed, 33 insertions(+)

diff --git a/src/soc/intel/apollolake/acpi.c b/src/soc/intel/apollolake/acpi.c
index d7249c2..b468745 100644
--- a/src/soc/intel/apollolake/acpi.c
+++ b/src/soc/intel/apollolake/acpi.c
@@ -20,3 +20,10 @@ unsigned long acpi_fill_madt(unsigned long current)
 {
 	return 0;
 }
+
+unsigned long southbridge_write_acpi_tables(device_t device,
+		unsigned long current,
+		struct acpi_rsdp *rsdp)
+{
+	return acpi_write_hpet(device, current, rsdp);
+}
diff --git a/src/soc/intel/apollolake/include/soc/acpi.h b/src/soc/intel/apollolake/include/soc/acpi.h
new file mode 100644
index 0000000..b57e083
--- /dev/null
+++ b/src/soc/intel/apollolake/include/soc/acpi.h
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2016 Intel Corp.
+ * (Written by Lance Zhao <lijian.zhao at intel.com> for Intel Corp.)
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef _SOC_APOLLOLAKE_ACPI_H_
+#define _SOC_APOLLOLAKE_ACPI_H_
+
+#include <arch/acpi.h>
+
+/* Zero value won't be programmed again in FADT table. */
+void soc_fill_common_fadt(acpi_fadt_t * fadt);
+
+unsigned long southbridge_write_acpi_tables(device_t device,
+                unsigned long current, struct acpi_rsdp *rsdp);
+
+#endif	/* _SOC_APOLLOLAKE_ACPI_H_ */
diff --git a/src/soc/intel/apollolake/lpc.c b/src/soc/intel/apollolake/lpc.c
index 06f1a85..c4aca69 100644
--- a/src/soc/intel/apollolake/lpc.c
+++ b/src/soc/intel/apollolake/lpc.c
@@ -13,6 +13,7 @@
 #include <device/device.h>
 #include <device/pci.h>
 #include <device/pci_ids.h>
+#include <soc/acpi.h>
 
 static void soc_lpc_add_io_resources(device_t dev)
 {
@@ -38,6 +39,7 @@ static struct device_operations device_ops = {
 	.read_resources = &soc_lpc_read_resources,
 	.set_resources = &pci_dev_set_resources,
 	.enable_resources = &pci_dev_enable_resources,
+	.write_acpi_tables = southbridge_write_acpi_tables,
 };
 
 static const struct pci_driver soc_lpc __pci_driver = {



More information about the coreboot-gerrit mailing list