aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2013-10-22 16:37:39 -0700
committerIsaac Christensen <isaac.christensen@se-eng.com>2014-09-08 19:05:50 +0200
commit33e295e66fe6fa5d7f2fead3bbbe30b6bfd5dca4 (patch)
treed98c8e1bfe87e74ba79b8992f5ac65a598ecf669
parentfe74092c4e802efbed76804fb43f0bd25a5721b2 (diff)
downloadcoreboot-33e295e66fe6fa5d7f2fead3bbbe30b6bfd5dca4.tar.gz
coreboot-33e295e66fe6fa5d7f2fead3bbbe30b6bfd5dca4.tar.xz
coreboot-33e295e66fe6fa5d7f2fead3bbbe30b6bfd5dca4.zip
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 <dlaurie@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/174122 Reviewed-by: Aaron Durbin <adurbin@chromium.org> (cherry picked from commit 0fdc9a83a434378499f825d072ce0adba5ffda59) Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com> Reviewed-on: http://review.coreboot.org/6829 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/mainboard/google/samus/acpi/mainboard.asl2
-rw-r--r--src/mainboard/google/samus/gpio.h14
-rw-r--r--src/mainboard/google/samus/smihandler.c23
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 c2e7264d7..f0b19961c 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 353d32a1a..d247a26f7 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 7cbe9d67c..a525f16bb 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);