intel/apollolake: Update gnvs for dptf
This patch updates dptf variable in gnvs based on device configuration by reading the device tree structure. BUG=chrome-os-partner:53096 TEST=Verify that the thermal zones are enumerated under /sys/class/thermal in Amenia and Reef board. 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@intel.com> Reviewed-on: https://review.coreboot.org/15620 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
5dd2b18540
commit
cd9e1e423f
@ -27,6 +27,8 @@
|
|||||||
#include <soc/iomap.h>
|
#include <soc/iomap.h>
|
||||||
#include <soc/pm.h>
|
#include <soc/pm.h>
|
||||||
#include <soc/nvs.h>
|
#include <soc/nvs.h>
|
||||||
|
#include <soc/pci_devs.h>
|
||||||
|
#include "chip.h"
|
||||||
|
|
||||||
#define CSTATE_RES(address_space, width, offset, address) \
|
#define CSTATE_RES(address_space, width, offset, address) \
|
||||||
{ \
|
{ \
|
||||||
@ -146,6 +148,15 @@ unsigned long southbridge_write_acpi_tables(device_t device,
|
|||||||
|
|
||||||
static void acpi_create_gnvs(struct global_nvs_t *gnvs)
|
static void acpi_create_gnvs(struct global_nvs_t *gnvs)
|
||||||
{
|
{
|
||||||
|
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))
|
if (IS_ENABLED(CONFIG_CONSOLE_CBMEM))
|
||||||
gnvs->cbmc = (uintptr_t)cbmem_find(CBMEM_ID_CONSOLE);
|
gnvs->cbmc = (uintptr_t)cbmem_find(CBMEM_ID_CONSOLE);
|
||||||
|
|
||||||
@ -154,6 +165,9 @@ static void acpi_create_gnvs(struct global_nvs_t *gnvs)
|
|||||||
chromeos_init_vboot(&gnvs->chromeos);
|
chromeos_init_vboot(&gnvs->chromeos);
|
||||||
gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
|
gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Enable DPTF based on mainboard configuration */
|
||||||
|
gnvs->dpte = cfg->dptf_enable;
|
||||||
}
|
}
|
||||||
|
|
||||||
void southbridge_inject_dsdt(device_t device)
|
void southbridge_inject_dsdt(device_t device)
|
||||||
|
@ -102,6 +102,9 @@ struct soc_intel_apollolake_config {
|
|||||||
|
|
||||||
/* Configure LPSS S0ix Enable */
|
/* Configure LPSS S0ix Enable */
|
||||||
uint8_t lpss_s0ix_enable;
|
uint8_t lpss_s0ix_enable;
|
||||||
|
|
||||||
|
/* Enable DPTF support */
|
||||||
|
int dptf_enable;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* _SOC_APOLLOLAKE_CHIP_H_ */
|
#endif /* _SOC_APOLLOLAKE_CHIP_H_ */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user