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>
This commit is contained in:
Duncan Laurie 2013-10-22 16:37:39 -07:00 committed by Isaac Christensen
parent fe74092c4e
commit 33e295e66f
3 changed files with 9 additions and 30 deletions

View File

@ -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
}
}

View File

@ -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 */

View File

@ -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);