diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2019-04-26 16:38:22 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2019-04-27 16:46:44 +0000 |
commit | b7da9ebd353fc1363c82df4e18993c7f8bbfc03b (patch) | |
tree | 1d91c45dedddd4a5c1be608b7ae49a562820db65 | |
parent | 0c21941a005d0c60efd9fdda6174521cca801fa5 (diff) | |
download | chrome-ec-b7da9ebd353fc1363c82df4e18993c7f8bbfc03b.tar.gz |
Flapjack: Disable charging from BC 1.2 charger as USB-C charger
Currently, if a charger shows Rp=USB on USB-C port, the charge manager
chooses it and sets the max current to 500 mA even if it can provide
higher power as a BC 1.2 charger.
This patch introduces CONFIG_USBC_DISABLE_CHARGE_FROM_RP_DEF. When it's
defined, a BC 1.2 charger won't be recognized as a USB-C charger.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
BUG=b/131353444
BRANCH=none
TEST=Charge Flapjack from BC 1.2 charger on USB-C port.
Change-Id: I50969973026185dd2aecdb768985cd116c1d32f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1586726
Reviewed-by: YH Lin <yueherngl@chromium.org>
Commit-Queue: YH Lin <yueherngl@chromium.org>
Tested-by: YH Lin <yueherngl@chromium.org>
-rw-r--r-- | board/flapjack/board.h | 1 | ||||
-rw-r--r-- | common/usb_pd_protocol.c | 3 | ||||
-rw-r--r-- | include/config.h | 7 |
3 files changed, 10 insertions, 1 deletions
diff --git a/board/flapjack/board.h b/board/flapjack/board.h index 0235dc1a29..18f89153ef 100644 --- a/board/flapjack/board.h +++ b/board/flapjack/board.h @@ -135,6 +135,7 @@ #define CONFIG_USBC_VCONN #define CONFIG_USBC_VCONN_SWAP #define CONFIG_USB_PD_COMM_LOCKED +#define CONFIG_USBC_DISABLE_CHARGE_FROM_RP_DEF #ifdef SECTION_IS_RO #define CONFIG_USB_PD_DEBUG_LEVEL 0 #endif diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index ff9d710e64..90ca779d8d 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -2514,7 +2514,8 @@ static typec_current_t get_typec_current_limit(int polarity, int cc1, int cc2) else if (cc == TYPEC_CC_VOLT_RP_1_5) charge = 1500; else if (cc == TYPEC_CC_VOLT_RP_DEF) - charge = 500; + charge = IS_ENABLED(CONFIG_USBC_DISABLE_CHARGE_FROM_RP_DEF) ? + 0 : 500; else charge = 0; diff --git a/include/config.h b/include/config.h index 67b1b7a1dd..242d729e48 100644 --- a/include/config.h +++ b/include/config.h @@ -3552,6 +3552,13 @@ /* PPC needs to be informed of CC polarity */ #undef CONFIG_USBC_PPC_POLARITY +/* + * Disable charging from Default(USB) Rp as a type-c supplier. If your device + * can detect such a supplier by BC 1.2, define this to get more current + * from a BC 1.2 supplier. + */ +#undef CONFIG_USBC_DISABLE_CHARGE_FROM_RP_DEF + /* USB Type-C Power Path Controllers (PPC) */ #undef CONFIG_USBC_PPC_NX20P3481 #undef CONFIG_USBC_PPC_NX20P3483 |