From 3dfcaaaf0bbb8298d656e8280ac83b6a4c421a92 Mon Sep 17 00:00:00 2001 From: Aseda Aboagye Date: Tue, 6 Feb 2018 16:22:21 -0800 Subject: [PATCH] npcx: Add BBRM idx for a 3rd PD port. Currently, there's only one board with 3 PD ports and it uses NPCX. Therefore, this commit just adds the index to NPCX which will be used to save the fact that there was an explicit contract in place. BUG=b:72838807 BRANCH=None TEST=make -j buildall CQ-DEPEND=CL:905390 Change-Id: Ic960f14a52f2a740adbe08bc340c45edfefbbf26 Signed-off-by: Aseda Aboagye Reviewed-on: https://chromium-review.googlesource.com/905922 Commit-Ready: Aseda Aboagye Tested-by: Aseda Aboagye Reviewed-by: Aseda Aboagye --- chip/npcx/system.c | 6 +++++- chip/npcx/system_chip.h | 1 + include/system.h | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) 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, };