diff options
Diffstat (limited to 'src/mainboard/google/poppy/variants/nami/mainboard.c')
-rw-r--r-- | src/mainboard/google/poppy/variants/nami/mainboard.c | 35 |
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; + } +} |