mb/google/brox/var/lotso: Fix goodix touchscreen power off sequence
Poweroff does not seem to use the ACPI _OFF function, but rather the smihandler. Creating variant_smi_sleep function for nami to handle the power off sequence during reboot/poweroff. BUG=b:364193909 TEST=emerge-brox coreboot Change-Id: I0108be4e5e7c0265aae0f16fd4e2b7cbe5936112 Signed-off-by: Kun Liu <liukun11@huaqin.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/84412 Reviewed-by: Jian Tong <tongjian@huaqin.corp-partner.google.com> Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
bda33e1585
commit
9a9191cf2f
4 changed files with 30 additions and 0 deletions
|
|
@ -4,11 +4,15 @@
|
|||
#include <ec/google/chromeec/ec.h>
|
||||
#include <ec/google/chromeec/smm.h>
|
||||
#include <elog.h>
|
||||
#include <baseboard/variants.h>
|
||||
#include <intelblocks/smihandler.h>
|
||||
#include <variant/ec.h>
|
||||
|
||||
void __weak variant_smi_sleep(u8 slp_typ) {}
|
||||
|
||||
void mainboard_smi_sleep(u8 slp_typ)
|
||||
{
|
||||
variant_smi_sleep(slp_typ);
|
||||
chromeec_smi_sleep(slp_typ, MAINBOARD_EC_S3_WAKE_EVENTS, MAINBOARD_EC_S5_WAKE_EVENTS);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ bool variant_is_half_populated(void);
|
|||
void variant_update_soc_chip_config(struct soc_intel_alderlake_config *config);
|
||||
void variant_fill_ssdt(const struct device *dev);
|
||||
void variant_configure_pads(void);
|
||||
void variant_smi_sleep(u8 slp_typ);
|
||||
|
||||
enum s0ix_entry {
|
||||
S0IX_EXIT,
|
||||
|
|
|
|||
|
|
@ -6,3 +6,4 @@ romstage-y += gpio.c
|
|||
ramstage-y += gpio.c
|
||||
ramstage-$(CONFIG_FW_CONFIG) += variant.c
|
||||
ramstage-y += ramstage.c
|
||||
smm-y += smihandler.c
|
||||
|
|
|
|||
24
src/mainboard/google/brox/variants/lotso/smihandler.c
Normal file
24
src/mainboard/google/brox/variants/lotso/smihandler.c
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#include <acpi/acpi.h>
|
||||
#include <baseboard/variants.h>
|
||||
#include <delay.h>
|
||||
|
||||
#include "gpio.h"
|
||||
|
||||
#define TOUCH_RESET GPP_F17
|
||||
#define TOUCH_ENABLE GPP_F7
|
||||
|
||||
|
||||
#define GOODIX_RESET_OFF_DELAY 5
|
||||
|
||||
void variant_smi_sleep(u8 slp_typ)
|
||||
{
|
||||
if (slp_typ == ACPI_S5) {
|
||||
/* TOUCHSCREEN_RST# */
|
||||
gpio_set(TOUCH_RESET, 0);
|
||||
mdelay(GOODIX_RESET_OFF_DELAY);
|
||||
/* EN_PP3300_DX_TOUCHSCREEN */
|
||||
gpio_set(TOUCH_ENABLE, 0);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue