mb/google/rex: Do not power on FPMCU in ramstage
When 'reset_gpio' and 'enable_gpio' properties are defined in
overridetree.cb, the kernel will power on the FPMCU. If the device was
previously enabled the kernel will reset it.
To avoid situation in which the FPMCU is powered on and reset later we
leave the FPMCU powered off in coreboot and started by the kernel. This
is exactly what other boards do (e.g. brya).
TEST=Boot the board (e.g. karis) and make sure the FPMCU was booted once
(e.g. examine FPMCU console logs)
Change-Id: I5df8d9385be2621c02ccee2d36511a4e80ab87d1
Signed-off-by: Patryk Duda <patrykd@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80457
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: YH Lin <yueherngl@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/mainboard/google/rex/variants/karis/gpio.c b/src/mainboard/google/rex/variants/karis/gpio.c
index 6bd23ca..db742d7 100644
--- a/src/mainboard/google/rex/variants/karis/gpio.c
+++ b/src/mainboard/google/rex/variants/karis/gpio.c
@@ -69,7 +69,7 @@
/* GPP_B10 : [] ==> WIFI_DISABLE_L */
PAD_CFG_GPO(GPP_B10, 1, DEEP),
/* GPP_B11 : [] ==> EN_FP_PWR */
- PAD_CFG_GPO_LOCK(GPP_B11, 1, LOCK_CONFIG),
+ PAD_CFG_GPO_LOCK(GPP_B11, 0, LOCK_CONFIG),
/* GPP_B12 : [] ==> SLP_SO_R_L */
PAD_CFG_NF(GPP_B12, NONE, DEEP, NF1),
/* GPP_B13 : [] ==> PLT_RST_L */
@@ -140,7 +140,7 @@
/* GPP_C22 : [] ==> SOC_FP_BOOT0 */
PAD_CFG_GPO_LOCK(GPP_C22, 0, LOCK_CONFIG),
/* GPP_C23 : [] ==> FP_RST_ODL */
- PAD_CFG_GPO_LOCK(GPP_C23, 1, LOCK_CONFIG),
+ PAD_CFG_GPO_LOCK(GPP_C23, 0, LOCK_CONFIG),
/* GPP_D00 : Not connected. */
PAD_NC(GPP_D00, NONE),
diff --git a/src/mainboard/google/rex/variants/rex0/gpio.c b/src/mainboard/google/rex/variants/rex0/gpio.c
index 184c4d2..32388c4 100644
--- a/src/mainboard/google/rex/variants/rex0/gpio.c
+++ b/src/mainboard/google/rex/variants/rex0/gpio.c
@@ -76,7 +76,7 @@
/* GPP_B10 : [] ==> WIFI_DISABLE_L */
PAD_CFG_GPO(GPP_B10, 1, DEEP),
/* GPP_B11 : [] ==> EN_FP_PWR */
- PAD_CFG_GPO_LOCK(GPP_B11, 1, LOCK_CONFIG),
+ PAD_CFG_GPO_LOCK(GPP_B11, 0, LOCK_CONFIG),
/* GPP_B12 : [] ==> SLP_SO_R_L */
PAD_CFG_NF(GPP_B12, NONE, DEEP, NF1),
/* GPP_B13 : [] ==> PLT_RST_L */
@@ -145,7 +145,7 @@
/* GPP_C22 : [] ==> SOC_FP_BOOT0 */
PAD_CFG_GPO_LOCK(GPP_C22, 0, LOCK_CONFIG),
/* GPP_C23 : [] ==> FP_RST_ODL */
- PAD_CFG_GPO_LOCK(GPP_C23, 1, LOCK_CONFIG),
+ PAD_CFG_GPO_LOCK(GPP_C23, 0, LOCK_CONFIG),
/* GPP_D00 : WCAM_MCLK_R */
PAD_CFG_NF(GPP_D00, NONE, DEEP, NF1),
diff --git a/src/mainboard/google/rex/variants/screebo/gpio.c b/src/mainboard/google/rex/variants/screebo/gpio.c
index 1712956..91a9ba0 100644
--- a/src/mainboard/google/rex/variants/screebo/gpio.c
+++ b/src/mainboard/google/rex/variants/screebo/gpio.c
@@ -64,7 +64,7 @@
/* GPP_B07 : [] ==> EN_SPKR */
PAD_CFG_GPO(GPP_B07, 1, DEEP),
/* GPP_B08 : [] ==> EN_FP_PWR */
- PAD_CFG_GPO_LOCK(GPP_B08, 1, LOCK_CONFIG),
+ PAD_CFG_GPO_LOCK(GPP_B08, 0, LOCK_CONFIG),
/* GPP_B09 : net NC is not present in the given design */
PAD_NC(GPP_B09, NONE),
/* GPP_B10 : [] ==> WIFI_DISABLE_L */
@@ -138,7 +138,7 @@
/* GPP_C20 : [] ==> SOC_FP_BOOT0 */
PAD_CFG_GPO_LOCK(GPP_C20, 0, LOCK_CONFIG),
/* GPP_C21 : [] ==> FP_RST_ODL */
- PAD_CFG_GPO_LOCK(GPP_C21, 1, LOCK_CONFIG),
+ PAD_CFG_GPO_LOCK(GPP_C21, 0, LOCK_CONFIG),
/* GPP_C22 : [] ==> USB_C1_LSX_TX */
PAD_CFG_NF(GPP_C22, NONE, DEEP, NF1),
/* GPP_C23 : [] ==> USB_C1_LSX_RX */