/* * This file is part of the coreboot project. * * * 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; version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include #include #include #include "gpio.h" #define TOUCH_DISABLE GPP_C3 #define TOUCH_RESET GPP_B3 #define TOUCH_ENABLE GPP_B4 #define FP_PWR_ENABLE GPP_B11 /* * Elan touchscreen has higher delay requirements than the other * devices, so using that. */ #define ELAN_STOP_OFF_DELAY 2 #define ELAN_RESET_OFF_DELAY 2 #define ELAN_ENABLE_OFF_DELAY 100 void variant_smi_sleep(u8 slp_typ) { if (slp_typ == ACPI_S5) { /* TOUCHSCREEN_DIS# */ gpio_set(TOUCH_DISABLE, 0); mdelay(ELAN_STOP_OFF_DELAY); /* TOUCHSCREEN_RST# */ gpio_set(TOUCH_RESET, 0); mdelay(ELAN_RESET_OFF_DELAY); /* EN_PP3300_DX_TOUCHSCREEN */ gpio_set(TOUCH_ENABLE, 0); mdelay(ELAN_ENABLE_OFF_DELAY); /* PCH_FP_PWR_EN */ gpio_set(FP_PWR_ENABLE, 0); } }