summaryrefslogtreecommitdiff
path: root/include/linux/battery/charger/sprd27x3_charger4samsung.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/battery/charger/sprd27x3_charger4samsung.h')
-rwxr-xr-xinclude/linux/battery/charger/sprd27x3_charger4samsung.h124
1 files changed, 124 insertions, 0 deletions
diff --git a/include/linux/battery/charger/sprd27x3_charger4samsung.h b/include/linux/battery/charger/sprd27x3_charger4samsung.h
new file mode 100755
index 00000000..425a9633
--- /dev/null
+++ b/include/linux/battery/charger/sprd27x3_charger4samsung.h
@@ -0,0 +1,124 @@
+/*
+ * sprd27x3_charger4samsung.h
+ * Samsung SPRD27X3 Charger Header
+ *
+ * Copyright (C) 2012 Samsung Electronics, Inc.
+ *
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef __SPRD27X3_CHARGER4SAMSUNG_H
+#define __SPRD27X3_CHARGER4SAMSUNG_H
+
+/* Slave address should be shifted to the right 1bit.
+ * R/W bit should NOT be included.
+ */
+
+#define SPRDBAT_AUXADC_CAL_NO 0
+#define SPRDBAT_AUXADC_CAL_NV 1
+#define SPRDBAT_AUXADC_CAL_CHIP 2
+
+#define SPRDBAT_CHG_END_NONE_BIT 0
+#define SPRDBAT_CHG_END_FULL_BIT (1 << 0)
+#define SPRDBAT_CHG_END_OTP_OVERHEAT_BIT (1 << 1)
+#define SPRDBAT_CHG_END_OTP_COLD_BIT (1 << 2)
+#define SPRDBAT_CHG_END_TIMEOUT_BIT (1 << 3)
+#define SPRDBAT_CHG_END_OVP_BIT (1 << 4)
+
+//#define SPRDBAT_AVERAGE_COUNT 3
+
+#define SPRDBAT_AUXADC_CAL_TYPE_NO 0
+#define SPRDBAT_AUXADC_CAL_TYPE_NV 1
+#define SPRDBAT_AUXADC_CAL_TYPE_EFUSE 2
+
+#define SPRDBAT_CCCV_MIN 0x00
+#define SPRDBAT_CCCV_MAX 0x3F
+#define SPRDBAT_CCCV_DEFAULT 0x0
+#define ONE_CCCV_STEP_VOL 75 //7.5mV
+
+#ifdef CONFIG_MACH_VIVALTO
+#define SPRDBAT_CHG_END_VOL_PURE (4350)
+#elif defined(CONFIG_MACH_HIGGS)
+#define SPRDBAT_CHG_END_VOL_PURE (4350)
+#elif defined(CONFIG_MACH_YOUNG2)
+#define SPRDBAT_CHG_END_VOL_PURE (4200)
+#else
+#define SPRDBAT_CHG_END_VOL_PURE (4200)
+#endif
+#define SPRDBAT_CHG_END_H (SPRDBAT_CHG_END_VOL_PURE + 25)
+#define SPRDBAT_CHG_END_L (SPRDBAT_CHG_END_VOL_PURE - 10)
+#define SPRDBAT_RECHG_VOL (SPRDBAT_CHG_END_VOL_PURE - 70) //recharge voltage
+
+#define SPRDBAT_CHG_OVP_LEVEL_MIN 5600
+#define SPRDBAT_CHG_OVP_LEVEL_MAX 9000
+#define SPRDBAT_OVP_STOP_VOL 6500
+#define SPRDBAT_OVP_RESTERT_VOL 5800 //reserved
+
+/*charge current type*/
+#define SPRDBAT_CHG_CUR_LEVEL_MIN 300
+#define SPRDBAT_CHG_CUR_LEVEL_MAX 2300
+#define SPRDBAT_SDP_CUR_LEVEL 500 //usb
+#define SPRDBAT_DCP_CUR_LEVEL 700 //AC
+#define SPRDBAT_CDP_CUR_LEVEL 700 //AC&USB
+
+#define SPRDBAT_CHG_END_CUR 70
+
+#define SPRDBAT_OTP_HIGH_STOP 600 //60C
+#define SPRDBAT_OTP_HIGH_RESTART (550) //55C
+#define SPRDBAT_OTP_LOW_STOP -50 //-5C
+#define SPRDBAT_OTP_LOW_RESTART 0 //0C
+
+#define SPRDBAT_CHG_NORMAL_TIMEOUT (6*60*60) /* set for charge over time, 6 hours */
+#define SPRDBAT_CHG_SPECIAL_TIMEOUT (90*60) /* when charge timeout, recharge timeout is 90min */
+
+#define SPRDBAT_TRICKLE_CHG_TIME (1500) //reserved
+
+#define SPRDBAT_ADC_CHANNEL_VCHG ADC_CHANNEL_VCHGSEN
+
+#define SPRDBAT_ADC_CHANNEL_TEMP ADC_CHANNEL_3
+#define SPRDBAT_ADC_CHANNEL_TEMP_WPA ADC_CHANNEL_1
+#define SPRDBAT_ADC_CHANNEL_TEMP_DCXO ADC_CHANNEL_2
+
+#define SPRDBAT_POLL_TIMER_NORMAL 60
+#define SPRDBAT_POLL_TIMER_TEMP 1
+
+#define SPRDBAT_TEMP_TRIGGER_TIMES 2
+
+#define SPRDBAT_CAPACITY_MONITOR_NORMAL (HZ*10)
+#define SPRDBAT_CAPACITY_MONITOR_FAST (HZ*5)
+
+enum {
+ POWER_SUPPLY_PWR_RDY_FALSE = 0,
+ POWER_SUPPLY_PWR_RDY_TRUE,
+ POWER_SUPPLY_PWR_RDY_UNKNOWN,
+};
+
+
+#if !defined(CONFIG_CHARGER_SM5414)
+struct sec_chg_info {
+ bool dummy;
+};
+#endif
+
+#if 0
+struct sprdbat_auxadc_cal {
+ uint16_t p0_vol; //4.2V
+ uint16_t p0_adc;
+ uint16_t p1_vol; //3.6V
+ uint16_t p1_adc;
+ uint16_t cal_type;
+};
+#endif
+#endif /* __SPRD27X3_CHARGER4SAMSUNG_H */
+
+
+