summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames_Chao <james_chao@asus.corp-partner.google.com>2019-05-06 11:29:57 +0800
committerCommit Bot <commit-bot@chromium.org>2020-05-12 16:53:49 +0000
commitd65001cc98ce00f20c052403e3becbfa07db36b8 (patch)
tree39e112ed23de284257080efca384c8403b1d5d21
parent6d28b3006129be184b15c9d8fdc799748808eca3 (diff)
downloadchrome-ec-d65001cc98ce00f20c052403e3becbfa07db36b8.tar.gz
ppc/sn5s330: set the deglitch time to 1000 us for PP2
Some type-c device (eg. ASUS MB16ACE) and dongle (eg. Hub-type-c-promate-0001) can't be detect when system resume from S5. After modulating PPC parameter PP1_ILIM_DEGLITCH_0 from 200us to 1ms, those devices can be detect work normally. BUG=b:155109735 BRANCH=octopus TEST=Check the devices can work normally 1.Promate Hub-type-c-promate-0001 2.Apple USB-C Digital AV Multiport Adapter 3.Dell S2718D 4.MONITOR-PHILIPS-258B6QU 5.BENQ EW3270U 6.ASUS MB16ACE,MX27UC 7.LG-34WK95U-W Change-Id: I8a62cb309055b8e64babf1d447eacacc518f9bbd Signed-off-by: James_Chao <james_chao@asus.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2193251 Reviewed-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2196001 Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org>
-rw-r--r--driver/ppc/sn5s330.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/driver/ppc/sn5s330.c b/driver/ppc/sn5s330.c
index f94908039d..cdaacc41be 100644
--- a/driver/ppc/sn5s330.c
+++ b/driver/ppc/sn5s330.c
@@ -272,8 +272,12 @@ static int sn5s330_init(int port)
return status;
}
- /* Set analog current limit delay to 200 us for both PP1 & PP2. */
- regval = (PPX_ILIM_DEGLITCH_0_US_200 << 3) | PPX_ILIM_DEGLITCH_0_US_200;
+ /*
+ * Set analog current limit delay to 200 us for PP1,
+ * set 1000 us for PP2 for compatibility.
+ */
+ regval = (PPX_ILIM_DEGLITCH_0_US_200 << 3) |
+ PPX_ILIM_DEGLITCH_0_US_1000;
status = i2c_write8(i2c_port, i2c_addr, SN5S330_FUNC_SET11,
regval);
if (status) {