coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
smihandler.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <acpi/acpi.h>
4 #include <baseboard/variants.h>
5 #include <delay.h>
6 
7 #include "gpio.h"
8 
9 #define TOUCH_DISABLE GPP_C3
10 #define TOUCH_RESET GPP_B3
11 #define TOUCH_ENABLE GPP_B4
12 #define FP_PWR_ENABLE GPP_B11
13 
14 /*
15  * Elan touchscreen has higher delay requirements than the other
16  * devices, so using that.
17  */
18 #define ELAN_STOP_OFF_DELAY 2
19 #define ELAN_RESET_OFF_DELAY 2
20 #define ELAN_ENABLE_OFF_DELAY 100
21 
22 void variant_smi_sleep(u8 slp_typ)
23 {
24  if (slp_typ == ACPI_S5) {
25  /* TOUCHSCREEN_DIS# */
28  /* TOUCHSCREEN_RST# */
31  /* EN_PP3300_DX_TOUCHSCREEN */
34  /* PCH_FP_PWR_EN */
36  }
37 }
void mdelay(unsigned int msecs)
Definition: delay.c:2
@ ACPI_S5
Definition: acpi.h:1385
void gpio_set(gpio_t gpio, int value)
Definition: gpio.c:174
void __weak variant_smi_sleep(u8 slp_typ)
Definition: smihandler.c:52
#define ELAN_RESET_OFF_DELAY
Definition: smihandler.c:19
#define ELAN_STOP_OFF_DELAY
Definition: smihandler.c:18
#define TOUCH_DISABLE
Definition: smihandler.c:9
#define TOUCH_RESET
Definition: smihandler.c:10
#define FP_PWR_ENABLE
Definition: smihandler.c:12
#define TOUCH_ENABLE
Definition: smihandler.c:11
#define ELAN_ENABLE_OFF_DELAY
Definition: smihandler.c:20
uint8_t u8
Definition: stdint.h:45