diff --git a/chip/npcx/system.c b/chip/npcx/system.c index b38b09aaf1..059a75b6da 100644 --- a/chip/npcx/system.c +++ b/chip/npcx/system.c @@ -182,7 +182,11 @@ static int bbram_idx_lookup(enum system_bbram_idx idx) return BBRM_DATA_INDEX_PD0; if (idx == SYSTEM_BBRAM_IDX_PD1) return BBRM_DATA_INDEX_PD1; -#endif +#if CONFIG_USB_PD_PORT_COUNT >= 3 + if (idx == SYSTEM_BBRAM_IDX_PD2) + return BBRM_DATA_INDEX_PD2; +#endif /* CONFIG_USB_PD_PORT_COUNT >= 3 */ +#endif /* defined(CONFIG_USB_PD_DUAL_ROLE) */ #ifdef CONFIG_VBOOT_EFS if (idx == SYSTEM_BBRAM_IDX_TRY_SLOT) return BBRM_DATA_INDEX_TRY_SLOT; diff --git a/chip/npcx/system_chip.h b/chip/npcx/system_chip.h index 37e49a406c..a9155a52dd 100644 --- a/chip/npcx/system_chip.h +++ b/chip/npcx/system_chip.h @@ -20,6 +20,7 @@ enum bbram_data_index { BBRM_DATA_INDEX_PD0 = 12, /* USB-PD saved port0 state */ BBRM_DATA_INDEX_PD1 = 13, /* USB-PD saved port1 state */ BBRM_DATA_INDEX_TRY_SLOT = 14, /* Vboot EC try slot */ + BBRM_DATA_INDEX_PD2 = 15, /* USB-PD saved port2 state */ BBRM_DATA_INDEX_VBNVCNTXT = 16, /* VbNvContext for ARM arch */ BBRM_DATA_INDEX_RAMLOG = 32, /* RAM log for Booter */ BBRM_DATA_INDEX_PANIC_FLAGS = 35, /* Flag to indicate validity of diff --git a/include/system.h b/include/system.h index a47f8a3af3..acc3f71471 100644 --- a/include/system.h +++ b/include/system.h @@ -341,6 +341,7 @@ enum system_bbram_idx { /* PD state for CONFIG_USB_PD_DUAL_ROLE uses one byte per port */ SYSTEM_BBRAM_IDX_PD0, SYSTEM_BBRAM_IDX_PD1, + SYSTEM_BBRAM_IDX_PD2, SYSTEM_BBRAM_IDX_TRY_SLOT, };