From 3eca23627ce7f720819046f84114e969207a0604 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Thu, 17 Oct 2013 16:59:36 -0700 Subject: [PATCH] beltino: Use ChromeBox thermals taken from Stumpy BUG=none BRANCH=none TEST=Boot ChromeOS Change-Id: I1e216b854fe342b8c2101af5be421e56d6d1c67d Signed-off-by: Stefan Reinauer Reviewed-on: https://chromium-review.googlesource.com/173641 Reviewed-by: Stefan Reinauer Commit-Queue: Stefan Reinauer Tested-by: Stefan Reinauer --- src/mainboard/google/beltino/acpi_tables.c | 24 ++++++++++++++-- src/mainboard/google/beltino/thermal.h | 32 ++++++++++++++++++---- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/src/mainboard/google/beltino/acpi_tables.c b/src/mainboard/google/beltino/acpi_tables.c index d361f61585..09601004e4 100644 --- a/src/mainboard/google/beltino/acpi_tables.c +++ b/src/mainboard/google/beltino/acpi_tables.c @@ -44,12 +44,30 @@ unsigned long acpi_create_slic(unsigned long current); static void acpi_update_thermal_table(global_nvs_t *gnvs) { - gnvs->tmps = TEMPERATURE_SENSOR_ID; + gnvs->f4of = FAN4_THRESHOLD_OFF; + gnvs->f4on = FAN4_THRESHOLD_ON; + gnvs->f4pw = FAN4_PWM; + + gnvs->f3of = FAN3_THRESHOLD_OFF; + gnvs->f3on = FAN3_THRESHOLD_ON; + gnvs->f3pw = FAN3_PWM; + + gnvs->f2of = FAN2_THRESHOLD_OFF; + gnvs->f2on = FAN2_THRESHOLD_ON; + gnvs->f2pw = FAN2_PWM; + + gnvs->f1of = FAN1_THRESHOLD_OFF; + gnvs->f1on = FAN1_THRESHOLD_ON; + gnvs->f1pw = FAN1_PWM; + + gnvs->f0of = FAN0_THRESHOLD_OFF; + gnvs->f0on = FAN0_THRESHOLD_ON; + gnvs->f0pw = FAN0_PWM; + gnvs->tcrt = CRITICAL_TEMPERATURE; gnvs->tpsv = PASSIVE_TEMPERATURE; gnvs->tmax = MAX_TEMPERATURE; - gnvs->f0pw = EC_THROTTLE_POWER_LIMIT; - gnvs->flvl = 1; + gnvs->flvl = 5; } static void acpi_create_gnvs(global_nvs_t *gnvs) diff --git a/src/mainboard/google/beltino/thermal.h b/src/mainboard/google/beltino/thermal.h index 9bd6ee64ce..794065eb7a 100644 --- a/src/mainboard/google/beltino/thermal.h +++ b/src/mainboard/google/beltino/thermal.h @@ -20,18 +20,38 @@ #ifndef THERMAL_H #define THERMAL_H -#define TEMPERATURE_SENSOR_ID 0 /* PECI */ +/* Fan is OFF */ +#define FAN4_THRESHOLD_OFF 0 +#define FAN4_THRESHOLD_ON 0 +#define FAN4_PWM 0x00 -/* Power level to set when EC requests throttle */ -#define EC_THROTTLE_POWER_LIMIT 12 /* 12W */ +/* Fan is at LOW speed */ +#define FAN3_THRESHOLD_OFF 48 +#define FAN3_THRESHOLD_ON 55 +#define FAN3_PWM 0x40 + +/* Fan is at MEDIUM speed */ +#define FAN2_THRESHOLD_OFF 52 +#define FAN2_THRESHOLD_ON 64 +#define FAN2_PWM 0x80 + +/* Fan is at HIGH speed */ +#define FAN1_THRESHOLD_OFF 60 +#define FAN1_THRESHOLD_ON 68 +#define FAN1_PWM 0xb0 + +/* Fan is at FULL speed */ +#define FAN0_THRESHOLD_OFF 66 +#define FAN0_THRESHOLD_ON 78 +#define FAN0_PWM 0xff /* Temperature which OS will shutdown at */ -#define CRITICAL_TEMPERATURE 104 +#define CRITICAL_TEMPERATURE 100 /* Temperature which OS will throttle CPU */ -#define PASSIVE_TEMPERATURE 100 +#define PASSIVE_TEMPERATURE 90 /* Tj_max value for calculating PECI CPU temperature */ -#define MAX_TEMPERATURE 105 +#define MAX_TEMPERATURE 100 #endif