summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2019-04-26 16:38:22 -0700
committerchrome-bot <chrome-bot@chromium.org>2019-04-30 06:07:56 -0700
commit631000bdf478b8ad206753f4ffeb2af879129866 (patch)
treea95929282b07ce2f54d32c081ccb234990472a91
parent94ec130c609248da647460e0093801e0593e6fa9 (diff)
downloadchrome-ec-631000bdf478b8ad206753f4ffeb2af879129866.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/1586580 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@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 6ad9bd806e..22fbe4c6f7 100644
--- a/include/config.h
+++ b/include/config.h
@@ -3563,6 +3563,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