summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryoojin <yoojin7.lee@samsung.com>2014-07-28 10:39:38 +0900
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-07-30 00:41:47 +0000
commitd222d27cc510d8ba83f5522f4e428cafc9429f6a (patch)
treef36a55e88b8085f8fda93c6c08b2f599b8b97315
parent15e31390aa8be05e585dabba13fa17b3b9dfc9dc (diff)
downloadchrome-ec-d222d27cc510d8ba83f5522f4e428cafc9429f6a.tar.gz
Winky : Update charge voltage for NVDC to meet spec.
Set the charge voltage(0x15) in non-charging state. When EC set charge voltage below 4096mA, charge voltage of charger was actually 9008mA(POR). POR can not ensure battery stability. BUG=chrome-os-partner:30194 TEST=emerge-winky chromeos-ec Check charger values was set normally by read i2c. To check the battery can be charging normally. Change-Id: Ib90bc91bad7f726b893056c9c705415f51001e00 Reviewed-on: https://chromium-review.googlesource.com/206449 Reviewed-by: YongBeum Ha <ybha@samsung.com> Tested-by: YongBeum Ha <ybha@samsung.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Commit-Queue: YongBeum Ha <ybha@samsung.com>
-rwxr-xr-xboard/winky/board.h1
-rwxr-xr-x[-rw-r--r--]driver/charger/bq24715.c6
-rwxr-xr-xinclude/config.h6
3 files changed, 13 insertions, 0 deletions
diff --git a/board/winky/board.h b/board/winky/board.h
index 9e9700bb24..f3461b3f5c 100755
--- a/board/winky/board.h
+++ b/board/winky/board.h
@@ -19,6 +19,7 @@
#define CONFIG_CHARGER_DISCHARGE_ON_AC
/* TODO(crosbug.com/p/25416): Add correct input current limit for Winky */
#define CONFIG_CHARGER_INPUT_CURRENT 2112 /* 30 W adapter, 12 V, 2.2 A */
+#define CONFIG_CHARGE_NVDC_OFF_VOLTAGE 8592 /* NVDC Off voltage */
#define CONFIG_CHARGER_SENSE_RESISTOR 10 /* Charge sense resistor, mOhm */
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10 /* Input senso resistor, mOhm */
#define CONFIG_CHIPSET_BAYTRAIL
diff --git a/driver/charger/bq24715.c b/driver/charger/bq24715.c
index c1f8a9156c..581bf534a7 100644..100755
--- a/driver/charger/bq24715.c
+++ b/driver/charger/bq24715.c
@@ -163,6 +163,12 @@ int charger_get_voltage(int *voltage)
int charger_set_voltage(int voltage)
{
cached_voltage = voltage;
+
+#ifdef CONFIG_CHARGE_NVDC_OFF_VOLTAGE
+ if(voltage == 0)
+ voltage = CONFIG_CHARGE_NVDC_OFF_VOLTAGE;
+#endif
+
return sbc_write(SB_CHARGING_VOLTAGE, voltage);
}
diff --git a/include/config.h b/include/config.h
index 7b13bd5a6e..7a9d8f7d04 100755
--- a/include/config.h
+++ b/include/config.h
@@ -210,6 +210,12 @@
*/
#undef CONFIG_CHARGER_INPUT_CURRENT
+/*
+ * NVDC needs to keep voltage level though charging stop.
+ * This value should depend on charger.
+*/
+#undef CONFIG_CHARGE_NVDC_OFF_VOLTAGE
+
/* Value of the charge sense resistor, in mOhms */
#undef CONFIG_CHARGER_SENSE_RESISTOR