aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/google/guybrush
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/guybrush')
-rw-r--r--src/mainboard/google/guybrush/variants/baseboard/gpio.c2
-rw-r--r--src/mainboard/google/guybrush/variants/guybrush/gpio.c18
2 files changed, 20 insertions, 0 deletions
diff --git a/src/mainboard/google/guybrush/variants/baseboard/gpio.c b/src/mainboard/google/guybrush/variants/baseboard/gpio.c
index 0b418d8b58..c73ec188fc 100644
--- a/src/mainboard/google/guybrush/variants/baseboard/gpio.c
+++ b/src/mainboard/google/guybrush/variants/baseboard/gpio.c
@@ -240,6 +240,8 @@ static const struct soc_amd_gpio early_gpio_table[] = {
static const struct soc_amd_gpio bootblock_gpio_table[] = {
/* Enable WWAN & WLAN */
+ /* EN_PWR_WWAN_X */
+ PAD_GPO(GPIO_8, HIGH),
/* WWAN_RST_L */
PAD_GPO(GPIO_24, HIGH),
/* WWAN_DISABLE */
diff --git a/src/mainboard/google/guybrush/variants/guybrush/gpio.c b/src/mainboard/google/guybrush/variants/guybrush/gpio.c
index dca9c8edc7..ff8403ba7c 100644
--- a/src/mainboard/google/guybrush/variants/guybrush/gpio.c
+++ b/src/mainboard/google/guybrush/variants/guybrush/gpio.c
@@ -5,6 +5,7 @@
#include <boardid.h>
#include <gpio.h>
#include <soc/gpio.h>
+#include <baseboard/variants.h>
/* This table is used by guybrush variant with board version < 2. */
static const struct soc_amd_gpio bid1_gpio_table[] = {
@@ -31,6 +32,14 @@ static const struct soc_amd_gpio bid1_pcie_gpio_table[] = {
PAD_GPO(GPIO_70, HIGH),
};
+/* WWAN on USB or no WWAN - Disable the WWAN power line */
+static const struct soc_amd_gpio bootblock_gpio_table_pcie_wwan[] = {
+ /* EN_PWR_WWAN_X */
+ PAD_GPO(GPIO_8, LOW),
+ /* WLAN_DISABLE */
+ PAD_GPO(GPIO_130, LOW),
+};
+
const struct soc_amd_gpio *variant_override_gpio_table(size_t *size)
{
uint32_t board_version = board_id();
@@ -69,3 +78,12 @@ const struct soc_amd_gpio *variant_pcie_override_gpio_table(size_t *size)
return NULL;
}
+const struct soc_amd_gpio *variant_bootblock_override_gpio_table(size_t *size)
+{
+ if (variant_has_pcie_wwan()) {
+ *size = ARRAY_SIZE(bootblock_gpio_table_pcie_wwan);
+ return bootblock_gpio_table_pcie_wwan;
+ }
+
+ return NULL;
+}