From 33e295e66fe6fa5d7f2fead3bbbe30b6bfd5dca4 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Tue, 22 Oct 2013 16:37:39 -0700 Subject: [PATCH] samus: Tweaks from bringup - GPIO29 is no longer connected so we don't need the SMI workaround on the entry to sleep states. - Disable touchscreen wake source until the kernel driver is working so it does not wake immediately. - Update a few GPIOs and disable the codec for now as it is leaking into the 1.8V DDR rail. Change-Id: Ia67b17eb4a097627befd8f39aadc939da1bf3d40 Signed-off-by: Duncan Laurie Reviewed-on: https://chromium-review.googlesource.com/174122 Reviewed-by: Aaron Durbin (cherry picked from commit 0fdc9a83a434378499f825d072ce0adba5ffda59) Signed-off-by: Isaac Christensen Reviewed-on: http://review.coreboot.org/6829 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/mainboard/google/samus/acpi/mainboard.asl | 2 ++ src/mainboard/google/samus/gpio.h | 14 +++++------ src/mainboard/google/samus/smihandler.c | 23 ------------------- 3 files changed, 9 insertions(+), 30 deletions(-) diff --git a/src/mainboard/google/samus/acpi/mainboard.asl b/src/mainboard/google/samus/acpi/mainboard.asl index c2e7264d78..f0b19961cb 100644 --- a/src/mainboard/google/samus/acpi/mainboard.asl +++ b/src/mainboard/google/samus/acpi/mainboard.asl @@ -99,6 +99,7 @@ Scope (\_SB) } }) +#if 0 // Disabled until kernel driver is working Name (_PRW, Package() { BOARD_TOUCHSCREEN_WAKE_GPIO, 0x3 }) Method (_DSW, 3, NotSerialized) @@ -110,5 +111,6 @@ Scope (\_SB) \_SB.PCI0.LPCB.GWAK (Local0) } } +#endif } } diff --git a/src/mainboard/google/samus/gpio.h b/src/mainboard/google/samus/gpio.h index 353d32a1a9..d247a26f77 100644 --- a/src/mainboard/google/samus/gpio.h +++ b/src/mainboard/google/samus/gpio.h @@ -52,7 +52,7 @@ const struct pch_lp_gpio_map mainboard_gpio_map[] = { LP_GPIO_OUT_HIGH, /* 26: NFC_EN */ LP_GPIO_UNUSED, /* 27: UNUSED */ LP_GPIO_IRQ_EDGE, /* 29: NFC_INT (GPIO IRQ) */ - LP_GPIO_NATIVE, /* 29: NATIVE: WLAN_OFF_L */ + LP_GPIO_UNUSED, /* 29: UNUSED */ LP_GPIO_NATIVE, /* 30: NATIVE: PCH_SUSWARN_L */ LP_GPIO_NATIVE, /* 31: NATIVE: ACOK_BUF */ LP_GPIO_NATIVE, /* 32: NATIVE: LPC_CLKRUN_L */ @@ -67,12 +67,12 @@ const struct pch_lp_gpio_map mainboard_gpio_map[] = { LP_GPIO_NATIVE, /* 41: NATIVE: PCH_USB2_OC_L */ LP_GPIO_IRQ_EDGE, /* 42: CODEC_INT_L (GPIO IRQ) */ LP_GPIO_IRQ_EDGE, /* 43: ACCEL_INT (GPIO IRQ) */ - LP_GPIO_OUT_HIGH, /* 44: CODEC_LDOENA */ - LP_GPIO_OUT_HIGH, /* 45: PP1800_CODEC_EN */ + LP_GPIO_OUT_LOW, /* 44: CODEC_LDOENA (DISABLED FOR BRINGUP) */ + LP_GPIO_OUT_LOW, /* 45: PP1800_CODEC_EN (DISABLED FOR BRINGUP) */ LP_GPIO_OUT_HIGH, /* 46: WLAN_DISABLE_L */ LP_GPIO_PIRQ, /* 47: ACCEL_GYRO_INT (PIRQP) */ LP_GPIO_UNUSED, /* 48: UNUSED */ - LP_GPIO_OUT_HIGH, /* 49: HDMI_CEC */ + LP_GPIO_INPUT, /* 49: HDMI_CEC */ LP_GPIO_UNUSED, /* 50: UNUSED */ LP_GPIO_UNUSED, /* 51: UNUSED */ LP_GPIO_INPUT, /* 52: SIM_DET */ @@ -80,15 +80,15 @@ const struct pch_lp_gpio_map mainboard_gpio_map[] = { LP_GPIO_UNUSED, /* 54: UNUSED */ LP_GPIO_UNUSED, /* 55: UNUSED */ LP_GPIO_UNUSED, /* 56: UNUSED */ - LP_GPIO_OUT_HIGH, /* 57: CODEC_RESET_L */ + LP_GPIO_OUT_LOW, /* 57: CODEC_RESET_L (DISABLED FOR BRINGUP) */ LP_GPIO_UNUSED, /* 58: UNUSED */ LP_GPIO_OUT_HIGH, /* 59: LTE_DISABLE_L */ LP_GPIO_UNUSED, /* 60: UNUSED */ LP_GPIO_NATIVE, /* 61: NATIVE: PCH_SUS_STAT */ LP_GPIO_NATIVE, /* 62: NATIVE: PCH_SUSCLK */ LP_GPIO_NATIVE, /* 63: NATIVE: PCH_SLP_S5_L */ - LP_GPIO_OUT_HIGH, /* 64: NFS_FW_UPDATE */ - LP_GPIO_OUT_HIGH, /* 65: MINIDP_PWR_FLT_L */ + LP_GPIO_OUT_HIGH, /* 64: NFC_FW_UPDATE */ + LP_GPIO_INPUT, /* 65: MINIDP_PWR_FLT_L */ LP_GPIO_OUT_HIGH, /* 66: MINIDP_PWR_EN */ LP_GPIO_INPUT, /* 67: RAM_ID0 */ LP_GPIO_INPUT, /* 68: RAM_ID1 */ diff --git a/src/mainboard/google/samus/smihandler.c b/src/mainboard/google/samus/smihandler.c index 7cbe9d67c0..a525f16bb6 100644 --- a/src/mainboard/google/samus/smihandler.c +++ b/src/mainboard/google/samus/smihandler.c @@ -92,26 +92,6 @@ void mainboard_smi_gpi(u32 gpi_sts) } } -static void mainboard_wlan_off(void) -{ - u16 gpio_base = pci_read_config16(PCH_LPC_DEV, GPIO_BASE) & 0xfffc; - u32 gpio_conf; - - /* Make sure pin is owned by GPIO subsystem and not ACPI */ - gpio_conf = inl(gpio_base + GPIO_OWNER(0)); - gpio_conf |= GPIO_OWNER_GPIO << 29; - outl(gpio_conf, gpio_base + GPIO_OWNER(0)); - - /* Set GPIO29 config to only be reset on RSMRST */ - gpio_conf = inl(gpio_base + GPIO_RESET(0)); - gpio_conf |= GPIO_RESET_RSMRST << 29; - outl(gpio_conf, gpio_base + GPIO_RESET(0)); - - /* Set WLAN_OFF_L (GPIO29) as Output GPIO driven high */ - gpio_conf = GPIO_MODE_GPIO | GPIO_DIR_OUTPUT | GPO_LEVEL_HIGH; - outl(gpio_conf, gpio_base + GPIO_CONFIG0(29)); -} - void mainboard_smi_sleep(u8 slp_typ) { /* Disable USB charging if required */ @@ -150,9 +130,6 @@ void mainboard_smi_sleep(u8 slp_typ) break; } - /* Set WLAN_OFF GPIO state */ - mainboard_wlan_off(); - /* Disable SCI and SMI events */ google_chromeec_set_smi_mask(0); google_chromeec_set_sci_mask(0);