diff options
author | Vijay Hiremath <vijay.p.hiremath@intel.com> | 2020-02-10 16:00:42 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-02-12 20:05:31 +0000 |
commit | 7460621eae83145ea57d42c0eb6daf486286f234 (patch) | |
tree | db327d2b2bcf77442f6d7f5284ab55247cbb7515 /common/usb_pd_policy.c | |
parent | e34464e92cc0d13e1fc4a7647897bf534be52444 (diff) | |
download | chrome-ec-7460621eae83145ea57d42c0eb6daf486286f234.tar.gz |
TCPMv1/v2: Move pd_check_requested_voltage() to common file
BUG=b:148528713
BRANCH=none
TEST=make buildall -j
Change-Id: I5ba854552b5c6124e3c6758273651edc0e3c23ae
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2051214
Reviewed-by: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'common/usb_pd_policy.c')
-rw-r--r-- | common/usb_pd_policy.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/common/usb_pd_policy.c b/common/usb_pd_policy.c index e2e6ed3b42..29e13017c7 100644 --- a/common/usb_pd_policy.c +++ b/common/usb_pd_policy.c @@ -53,51 +53,6 @@ void pd_notify_dp_alt_mode_entry(void) } #endif /* CONFIG_MKBP_EVENT */ -int pd_check_requested_voltage(uint32_t rdo, const int port) -{ - int max_ma = rdo & 0x3FF; - int op_ma = (rdo >> 10) & 0x3FF; - int idx = RDO_POS(rdo); - uint32_t pdo; - uint32_t pdo_ma; -#if defined(CONFIG_USB_PD_DYNAMIC_SRC_CAP) || \ - defined(CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT) - const uint32_t *src_pdo; - const int pdo_cnt = charge_manager_get_source_pdo(&src_pdo, port); -#else - const uint32_t *src_pdo = pd_src_pdo; - const int pdo_cnt = pd_src_pdo_cnt; -#endif - - /* Board specific check for this request */ - if (pd_board_check_request(rdo, pdo_cnt)) - return EC_ERROR_INVAL; - - /* check current ... */ - pdo = src_pdo[idx - 1]; - pdo_ma = (pdo & 0x3ff); - if (op_ma > pdo_ma) - return EC_ERROR_INVAL; /* too much op current */ - if (max_ma > pdo_ma && !(rdo & RDO_CAP_MISMATCH)) - return EC_ERROR_INVAL; /* too much max current */ - - CPRINTF("Requested %d mV %d mA (for %d/%d mA)\n", - ((pdo >> 10) & 0x3ff) * 50, (pdo & 0x3ff) * 10, - op_ma * 10, max_ma * 10); - - /* Accept the requested voltage */ - return EC_SUCCESS; -} - -__attribute__((weak)) int pd_board_check_request(uint32_t rdo, int pdo_cnt) -{ - int idx = RDO_POS(rdo); - - /* Check for invalid index */ - return (!idx || idx > pdo_cnt) ? - EC_ERROR_INVAL : EC_SUCCESS; -} - #ifdef CONFIG_USB_PD_DUAL_ROLE /* Last received source cap */ static uint32_t pd_src_caps[CONFIG_USB_PD_PORT_MAX_COUNT][PDO_MAX_OBJECTS]; |