From 6d6a2ac0559a324603d1c323239e2e6e6e58af77 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Fri, 12 Jul 2013 14:35:00 +0200 Subject: ec/kontron/it8516e: Add option for external temperature sensor The IT8516E firmware of Kontron supports some selected external sensors attached to the EC via SMBUS or GPIO16. Change-Id: I4c451c360a393e916430e3bea04a95847455cef7 Signed-off-by: Nico Huber Reviewed-on: http://review.coreboot.org/3772 Reviewed-by: Paul Menzel Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich --- src/ec/kontron/it8516e/ec.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/ec/kontron/it8516e/ec.c') diff --git a/src/ec/kontron/it8516e/ec.c b/src/ec/kontron/it8516e/ec.c index fa7bbc8450..7cf41d95be 100644 --- a/src/ec/kontron/it8516e/ec.c +++ b/src/ec/kontron/it8516e/ec.c @@ -30,6 +30,8 @@ typedef struct ec_kontron_it8516e_config config_t; enum { /* EC commands */ + IT8516E_CMD_SET_SYSTEMP_TYPE = 0x06, + IT8516E_CMD_GET_SYSTEMP_TYPE = 0x07, IT8516E_CMD_GET_FAN_MODE = 0x10, IT8516E_CMD_SET_FAN_MODE = 0x11, IT8516E_CMD_GET_FAN_PWM = 0x12, @@ -40,6 +42,13 @@ enum { /* EC commands */ IT8516E_CMD_SET_FAN_TEMP = 0x17, }; +static void it8516e_set_systemp_type(const u8 type) +{ + if (send_ec_command(IT8516E_CMD_SET_SYSTEMP_TYPE)) + return; + send_ec_data(type); +} + static void it8516e_set_fan_mode(const u8 idx, const u8 mode) { if (send_ec_command(IT8516E_CMD_SET_FAN_MODE)) @@ -138,6 +147,12 @@ static void it8516e_pm2_init(const device_t dev) ec_set_ports(find_resource(dev, PNP_IDX_IO1)->base, find_resource(dev, PNP_IDX_IO0)->base); + u8 systemp_type = config->default_systemp; + get_option(&systemp_type, "systemp_type"); + if (systemp_type >= IT8516E_SYSTEMP_LASTPLUSONE) + systemp_type = IT8516E_SYSTEMP_NONE; + it8516e_set_systemp_type(systemp_type); + it8516e_set_fan_from_options(config, 0); it8516e_set_fan_from_options(config, 1); } -- cgit v1.2.3