aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/google/poppy/variants/nami/mainboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/poppy/variants/nami/mainboard.c')
-rw-r--r--src/mainboard/google/poppy/variants/nami/mainboard.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/mainboard/google/poppy/variants/nami/mainboard.c b/src/mainboard/google/poppy/variants/nami/mainboard.c
index b703d40fc3..a4634fc6e5 100644
--- a/src/mainboard/google/poppy/variants/nami/mainboard.c
+++ b/src/mainboard/google/poppy/variants/nami/mainboard.c
@@ -15,6 +15,8 @@
#include <soc/ramstage.h>
#include <string.h>
#include <variant/sku.h>
+#include <gpio.h>
+#include <delay.h>
#define PL2_I7_SKU 44
#define PL2_DEFAULT 29
@@ -299,3 +301,36 @@ void variant_devtree_update(void)
sku_overwrite_mapping[oem_index].dc_loadline[i];
}
}
+
+void variant_final(void)
+{
+ uint32_t sku_id = variant_board_sku();
+
+ switch (sku_id) {
+ case SKU_0_BARD:
+ case SKU_1_BARD:
+ case SKU_2_BARD:
+ case SKU_3_BARD:
+ case SKU_4_BARD:
+ case SKU_5_BARD:
+ case SKU_6_BARD:
+ case SKU_7_BARD:
+ case SKU_0_EKKO:
+ case SKU_1_EKKO:
+ case SKU_2_EKKO:
+ case SKU_3_EKKO:
+ case SKU_4_EKKO:
+ case SKU_5_EKKO:
+ case SKU_6_EKKO:
+ case SKU_7_EKKO:
+ /* Enable FPMCU late in the boot process to achieve
+ * ~150ms of power off time in total.
+ */
+ gpio_output(GPP_B11, 1); /* PCH_FP_PWR_EN */
+ mdelay(3);
+ gpio_output(GPP_C9, 1); /* FP_RST_ODL */
+ break;
+ default:
+ break;
+ }
+}