summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2019-04-26 16:38:22 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2019-04-27 16:46:44 +0000
commitb7da9ebd353fc1363c82df4e18993c7f8bbfc03b (patch)
tree1d91c45dedddd4a5c1be608b7ae49a562820db65
parent0c21941a005d0c60efd9fdda6174521cca801fa5 (diff)
downloadchrome-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.h1
-rw-r--r--common/usb_pd_protocol.c3
-rw-r--r--include/config.h7
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