From c20f33960cbf57aa33a1b8ea32799511dabbb18c Mon Sep 17 00:00:00 2001 From: Ivy Jian Date: Fri, 23 Apr 2021 11:26:47 +0800 Subject: mb/google/mancomb: PCIe GPIOs - enable enables, disable resets To train PCIe devices, the devices need to be enabled and taken out of reset. This patch does the bare minimum needed to train PCIe. It is not intended to handle timings, which will be addressed later. Copy the enables for WLAN into early GPIO Init so that they're enabled before FSP-M runs and trains the PCIe busses. Again, this patch is the minimum to let the FSP train the PCIe busses. BUG=b:182202136 TEST=Boot guybrush from NVME. Signed-off-by: Ivy Jian Change-Id: I5e3e9fe21f44b832e26b0942759ae2ec96ec6c82 Reviewed-on: https://review.coreboot.org/c/coreboot/+/52621 Tested-by: build bot (Jenkins) Reviewed-by: EricR Lai --- src/mainboard/google/mancomb/variants/baseboard/gpio.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/mainboard/google/mancomb/variants/baseboard/gpio.c b/src/mainboard/google/mancomb/variants/baseboard/gpio.c index f647bec413..a9346a3a5f 100644 --- a/src/mainboard/google/mancomb/variants/baseboard/gpio.c +++ b/src/mainboard/google/mancomb/variants/baseboard/gpio.c @@ -20,7 +20,7 @@ static const struct soc_amd_gpio base_gpio_table[] = { /* AGPIO5 */ PAD_NC(GPIO_5), /* EN_PP3300_WLAN */ - PAD_GPO(GPIO_6, LOW), + PAD_GPO(GPIO_6, HIGH), /* AGPIO7 */ PAD_NC(GPIO_7), /* EN_PP3300_LAN */ @@ -59,7 +59,7 @@ static const struct soc_amd_gpio base_gpio_table[] = { PAD_NF(GPIO_27, PCIE_RST1_L, PULL_NONE), /* GPIO_28: Not available */ /* WLAN_AUX_RESET */ - PAD_GPO(GPIO_29, HIGH), + PAD_GPO(GPIO_29, LOW), /* ESPI_CS_L */ PAD_NF(GPIO_30, ESPI_CS_L, PULL_NONE), /* AGPIO31 */ @@ -68,7 +68,7 @@ static const struct soc_amd_gpio base_gpio_table[] = { PAD_NC(GPIO_32), /* GPIO_33 - GPIO_39: Not available */ /* SSD_AUX_RESET_L */ - PAD_GPO(GPIO_40, LOW), + PAD_GPO(GPIO_40, HIGH), /* GPIO_41: Not available */ /* EGPIO42 */ PAD_NC(GPIO_42), @@ -80,7 +80,7 @@ static const struct soc_amd_gpio base_gpio_table[] = { /* AGPIO69 */ PAD_NC(GPIO_69), /* SD_AUX_RESET_L */ - PAD_GPO(GPIO_70, LOW), + PAD_GPO(GPIO_70, HIGH), /* GPIO_71 - GPIO_73: Not available */ /* EGPIO74 */ PAD_NC(GPIO_74), @@ -138,7 +138,7 @@ static const struct soc_amd_gpio base_gpio_table[] = { /* AGPIO129 */ PAD_NC(GPIO_129), /* WLAN_DISABLE */ - PAD_GPO(GPIO_130, HIGH), + PAD_GPO(GPIO_130, LOW), /* CLK_REQ3_L */ PAD_NF(GPIO_131, CLK_REQ3_L, PULL_NONE), /* BT_DISABLE */ @@ -165,6 +165,10 @@ static const struct soc_amd_gpio base_gpio_table[] = { /* Early GPIO configuration */ static const struct soc_amd_gpio early_gpio_table[] = { + /* EN_PP3300_WLAN */ + PAD_GPO(GPIO_6, HIGH), + /* WLAN_DISABLE */ + PAD_GPO(GPIO_130, LOW), /* GSC_SOC_INT_L */ PAD_INT(GPIO_3, PULL_NONE, EDGE_LOW, STATUS_DELIVERY), /* I2C3_SCL */ -- cgit v1.2.3