[coreboot-gerrit] New patch to review for coreboot: soc/apollolake: DPTF gnvs

Shaunak Saha (shaunak.saha@intel.com) gerrit at coreboot.org
Tue Jul 12 10:36:11 CEST 2016


Shaunak Saha (shaunak.saha at intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15620

-gerrit

commit 84818a7b949aeb160585da88c65eab2b7e238ec4
Author: Shaunak Saha <shaunak.saha at intel.com>
Date:   Tue Jul 12 01:22:33 2016 -0700

    soc/apollolake: DPTF gnvs
    
    This patch updates dptf variable in gnvs based on device
    configuration by reading the device tree structure.
    
    BUG = 53096
    TEST = Verify that the thermal zones are enumerated
    	under /sys/class/thermal. Navigate to
    	/sys/class/thermal, and verify that a thermal
    	zone of type TCPU exists there.
    
    Change-Id: I8ab34cdc94d8cdc840b02347569a9f07688e92cd
    Signed-off-by: Shaunak Saha <shaunak.saha at intel.com>
---
 src/soc/intel/apollolake/acpi.c | 12 ++++++++++++
 src/soc/intel/apollolake/chip.h |  3 +++
 2 files changed, 15 insertions(+)

diff --git a/src/soc/intel/apollolake/acpi.c b/src/soc/intel/apollolake/acpi.c
index a38c377..bca537f 100644
--- a/src/soc/intel/apollolake/acpi.c
+++ b/src/soc/intel/apollolake/acpi.c
@@ -146,6 +146,15 @@ unsigned long southbridge_write_acpi_tables(device_t device,
 
 static void acpi_create_gnvs(struct global_nvs_t *gnvs)
 {
+	static struct soc_intel_apollolake_config *cfg;
+	struct device *dev = NB_DEV_ROOT;
+
+	if (!dev || !dev->chip_info) {
+		printk(BIOS_ERR, "BUG! Could not find SOC devicetree config\n");
+		return;
+	}
+	cfg = dev->chip_info;
+
 	if (IS_ENABLED(CONFIG_CONSOLE_CBMEM))
 		gnvs->cbmc = (uintptr_t)cbmem_find(CBMEM_ID_CONSOLE);
 
@@ -154,6 +163,9 @@ static void acpi_create_gnvs(struct global_nvs_t *gnvs)
 		chromeos_init_vboot(&gnvs->chromeos);
 		gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
 	}
+
+	/* Enable DPTF based on mainboard configuration */
+	gnvs->dpte = cfg->dptf_enable;
 }
 
 void southbridge_inject_dsdt(device_t device)
diff --git a/src/soc/intel/apollolake/chip.h b/src/soc/intel/apollolake/chip.h
index bcc8107..b8b30b1 100644
--- a/src/soc/intel/apollolake/chip.h
+++ b/src/soc/intel/apollolake/chip.h
@@ -105,6 +105,9 @@ struct soc_intel_apollolake_config {
 
 	/* Configure LPSS S0ix Enable */
 	uint8_t lpss_s0ix_enable;
+
+	/* Enable DPTF support */
+	int dptf_enable;
 };
 
 #endif	/* _SOC_APOLLOLAKE_CHIP_H_ */



More information about the coreboot-gerrit mailing list