config BATTERY_SAMSUNG_DATA_FILE
	depends on BATTERY_SAMSUNG
	string "samsung battery data file"
	default "default_battery_data.h"
	help
	 Path to the battery data file.

config SLOW_CHARGING_CURRENT_STANDARD
	int "slow charging"
	depends on BATTERY_SAMSUNG
	default "1000"
	help
	 Value for standard of slow-charging.

config CHARGING_VZWCONCEPT
	tristate "VZW concept about the charging"
	default n
	depends on BATTERY_SAMSUNG
	help
	 Say Y to include support for the VZW concepts.

config CALC_TIME_TO_FULL
	tristate "calculate time to full"
	default n
	depends on BATTERY_SAMSUNG
	help
	 Say Y to use calc time to full function.

config MULTI_CHARGING
	bool "support for multi charger ICs"
	help
	 Say Y to include support for multi charger ICs

config STEP_CHARGING
	bool "support for step charging"
	help
	 Say Y to include support for step charging

config ENABLE_FULL_BY_SOC
	bool "make full by soc 100%"
	help
	default n
	 Say Y to include support to make full by soc 100%

config DIRECT_CHARGING
	bool "support for direct charging"
	help
	 Say Y to include support for direct charging

config UPDATE_BATTERY_DATA
	bool "support for updating battery data"
	default n
	depends on BATTERY_SAMSUNG && OF
	help
	 Say Y to include support for step charging

config AFC_CURR_CONTROL_BY_TEMP
	tristate "fast charging current control by temp"
	default n
	depends on BATTERY_SAMSUNG
	help
	 Say Y to set afc current control by temp

config BATTERY_CISD
	 bool "support for cisd"
	 help
	 Say Y to include support for cisd
	 cisd means cell internal short detection

config PREVENT_SOC_JUMP
	tristate "prevent soc jump at full-charged"
	default n
	depends on BATTERY_SAMSUNG
	help
		Say Y to prevent soc jump

config CS100_JPNCONCEPT
	tristate "cs100 command support"
	depends on BATTERY_SAMSUNG && I2C
	help
	 Say Y here to support for CS100 command to stop when full-charged
	 on wireless charging for JPN models

config AFC_CHARGER_MODE
	bool "afc charging support in sec battery driver"
	default n
	help
	  Say Y to include support for sec afc charging support

config SAMSUNG_LPM_MODE
	bool "Off charging mode support in sec battery driver"
	default n
	help
	  Say Y to include support for sec off charging support
	  This value defined at bootloader.
	  Before enable this feature,
	  implemet power off charging in the bootloader.

config SAMSUNG_BATTERY_ENG_TEST
	bool "enable ENG mode for battery test"
	default n
	help
	  Say Y to include support for battery test
	  enable this feature only ENG mode
	  this featuren must disabled user binary
	  stability test etc..

config SAMSUNG_BATTERY_FACTORY
	bool "enable for factory test"
	default n
	help
	  Say Y to include support for factory test
	  enable this feature only factory mode
	  this featuren must disabled user binary
	  stability test etc..

config SAMSUNG_BATTERY_DISALLOW_DEEP_SLEEP
	bool "Disallow deep sleep during charging"
	default n
	depends on BATTERY_SAMSUNG && (ARCH_MSM8974 || ARCH_APQ8084)
	help
	  Say Y to include support
	  Disallow deep sleep during charging for stablity.

config DISABLE_SAVE_CAPACITY_MAX
	bool "Disable to save capacity max in efs"
	default n
	depends on BATTERY_SAMSUNG
	help
		Say Y to include support to disable it
		capacity_max is saved in /efs/Battery/batt_capacity_max
		capacity_max is restored after boot up
		You can find the code in healthd

config SIOP_CHARGING_LIMIT_CURRENT
	int "Siop charging limit current"
	default 0
	help
	  set SIOP charging limit current.

config EN_OOPS
	bool "enable oops filter"
	default n
	help
	  Say Y to enable oops filter

config USE_POGO
	bool "enable pogo charging"
	default n
	help
	  Say Y to enable CONFIG_USE_POGO

config MACH_KOR_EARJACK_WR
	bool "enable earjack-noise workaround"
	default n
	depends on BATTERY_SAMSUNG
	help
	  Say Y to enable earjack-noise workaround at charging

config STORE_MODE
	bool "enable store mode"
	default n
	help
	  Say Y to enable CONFIG_STORE_MODE

config SW_SELF_DISCHARGING
	bool "enable sw_self_discharging"
	default n
	help
	  Say Y to enable CONFIG_SW_SELF_DISCHARGING

config BATTERY_AGE_FORECAST
	tristate "battery age forecast"
	default n
	help
	  Say Y to use calc time to full function.

config ENG_BATTERY_CONCEPT
       bool "enable temp block"
       default n
       help
	 Say Y to enable CONFIG_ENG_BATTERY_CONCEPT

config QH_ALGORITHM
	bool "enable QH algorithm"
	default n
	help
		Say Y to enable CONFIG_QH_ALGORITHM to measure leakges of the battery
		using raw coulomb count generated by the device

config BATTERY_NOTIFIER
	bool "battery notifier"
	default n
	help
	  Say Y to enable battery notifier

config LIMIT_CHARGING_DURING_CALL
	bool "limit charging during call"
	default n
	help
	  Say Y to limit charging during call

config ENABLE_100MA_CHARGING_BEFORE_USB_CONFIGURED
	bool "enable 100mA before usb configured"
	default n
	help
	  Say Y to enable 100mA before usb configured

config TABLET_MODEL_CONCEPT
	bool "tablet model concept"
	default n
	help
	  Say Y to enable tablet model concept

config OTG_OVERCURRENT_BY_CHGIN
	bool "enable otg overcurrent detection by chgin workaround"
	default n
	help
	  Say Y to enable otg overcurrent detection by chgin workaround
	  for charger ICs have otg retrying issues from OVP IC specification

config SWITCHING_S2ASL01
    tristate "S2ASL01 SWITCHING IC support"
    depends on I2C
    help
	  Say Y here to enable support for S2ASL01 switching driver.

config DUAL_BATTERY
    tristate "DUAL BATTERY support"
    depends on I2C
    help
	  Say Y here to enable support for dual battery

config ISDB_CHARGING_CONTROL
    tristate "ISDB CHARGING CONTROL support"
    depends on I2C
    help
	  Say Y here to enable support for isdb

config PREVENT_USB_CONN_OVERHEAT
    bool "enable prevent usb conn overheat"
    default n
    help
	  Say Y to enable CONFIG_PREVENT_USB_CONN_OVERHEAT
