summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig.battery
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/Kconfig.battery')
-rw-r--r--zephyr/Kconfig.battery491
1 files changed, 0 insertions, 491 deletions
diff --git a/zephyr/Kconfig.battery b/zephyr/Kconfig.battery
deleted file mode 100644
index c1753ccefc..0000000000
--- a/zephyr/Kconfig.battery
+++ /dev/null
@@ -1,491 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-menuconfig PLATFORM_EC_BATTERY
- bool "Battery support"
- select HAS_TASK_CHARGER
- help
- Enables battery support on the board. Requires selection of a battery
- and a charger IC.
-
- If using I2C batteries, you must define I2C_PORT_BATTERY in your
- board's i2c_map.h file so that the EC code will know which I2C
- port the battery is on.
-
-if PLATFORM_EC_BATTERY
-
-choice "Battery select"
- prompt "Select the battery to use"
- help
- Select the battery used on the board. If you are ensure, select the
- smart battery option.
-
-config PLATFORM_EC_BATTERY_SMART
- bool "Support a smart battery"
- depends on PLATFORM_EC_I2C
- help
- Many batteries support the Smart Battery Specification and therefore
- have common registers which can be accessed to control and monitor
- the battery.
-
- See here for the spec: http://sbs-forum.org/specs/sbdat110.pdf
-
-endchoice
-
-choice "Battery presence detection"
- prompt "Method to use to detect the battery"
- help
- This selects the method to use to detect the presence of a battery.
-
- Battery detection is important since it can be used to indicate that
- the case is open, so security features can be disabled. It is also
- useful to report to the user when the battery is missing, e.g. with
- a desktop icon.
-
-config PLATFORM_EC_BATTERY_PRESENT_CUSTOM
- bool "Call a board-provided function"
- help
- Use this method to provide a board-provided battery_is_present()
- function to determine whether the battery is currently present.
- This should be implemented in the board code and can use any
- reasonable method to detect the battery.
-
-config PLATFORM_EC_BATTERY_PRESENT_GPIO
- bool "Check a GPIO"
- help
- Use this method if a GPIO signals whether the battery is present. The
- GPIO should read low if the battery is present, high if absent.
-
- The GPIO is hard-coded to GPIO_BATT_PRES_ODL so you should define this
- in the device tree and GPIO map. The convention is to use the signal
- name from schematic as both the node name and label for the GPIO. For
- example:
-
- /* gpio.dts */
- ec_batt_pres_odl {
- gpios = <&gpioe 5 GPIO_INPUT>;
- label = "EC_BATT_PRES_ODL";
- };
-
- /* gpio_map.h */
- #define GPIO_BATT_PRES_ODL NAMED_GPIO(ec_batt_pres_odl)
-
-endchoice # battery presence
-
-config PLATFORM_EC_USE_BATTERY_DEVICE_CHEMISTRY
- bool "Provide information about battery chemistry"
- help
- Enable this to specify the chemistry of the battery device. It is
- only used for stress testing of reading the battery information over
- I2C.
-
-config PLATFORM_EC_BATTERY_DEVICE_CHEMISTRY
- string "Battery-device chemistry"
- depends on PLATFORM_EC_USE_BATTERY_DEVICE_CHEMISTRY
- help
- Specify the battery chemistry for use with the I2C stress test.
- The value provided here must match what is read from the real
- battery. This is used in sb_i2c_test_read() to check that the battery
- is returning the right information. If it is not, there might be
- something wrong with the I2C implementation.
-
-config PLATFORM_EC_I2C_VIRTUAL_BATTERY
- bool "I2C virtual battery"
- help
- Enables driver for a virtual battery. It is used to minimalize I2C
- traffic which is generated by the I2C_PASSTHRU host command.
- The battery parameters, which are already cached in EC are used to
- return desired data to host instead of issuing I2C transaction every
- time.
-
-choice "Charger select"
- prompt "Select the charger to use"
- help
- Select the battery charger IC used on the board. Only one charger may
- be selected.
-
-config PLATFORM_EC_CHARGER_ISL9237
- bool "Use the ISL9237 charger"
- depends on PLATFORM_EC_I2C
- select PLATFORM_EC_CHARGER_NARROW_VDC
- select PLATFORM_EC_CHARGER_OTG_SUPPORTED
- help
- Enables a driver for the ISL9237 VCD Battery Charger. This is a
- digitally-configurable, buck-boost battery charger that supporting
- Narrow Voltage Direct Charging (NVDC). It supports an input voltage
- range of 3.2-23.4V and output of 2.4-13.8V. It provides an I2C
- interface for configuration an provides a USB On-The-Go (OTG)
- function for 2- and 3-cell battery applications.
-
-config PLATFORM_EC_CHARGER_ISL9238
- bool "Use the ISL9238 charger"
- depends on PLATFORM_EC_I2C
- select PLATFORM_EC_CHARGER_NARROW_VDC
- select PLATFORM_EC_CHARGER_OTG_SUPPORTED
- help
- Enables a driver for the ISL9238 VCD Battery Charger. This is a
- digitally-configurable, buck-boost battery charger that supporting
- Narrow Voltage Direct Charging (NVDC). It supports an input voltage
- range of 3.2-23.4V and output of 2.4-18.3V. It provides an I2C
- interface for configuration.
-
-config PLATFORM_EC_CHARGER_ISL9238C
- bool "Use the ISL9238 Rev C charger"
- depends on PLATFORM_EC_I2C
- select PLATFORM_EC_CHARGER_NARROW_VDC
- select PLATFORM_EC_CHARGER_OTG_SUPPORTED
- help
- Enable a driver for the ISL9238 Rev C VCD Battery Charger. This
- is a digitally-configurable, buck-boost battery charger that
- supporting Narrow Voltage Direct Charging (NVDC). It supports an input
- voltage range of 3.2-23.4V and output of 2.4-18.3V. It provides an I2C
- interface for configuration.
-
- This option is separate from PLATFORM_EC_CHARGER_ISL9238 since there
- is no way in software to distinguish between rev. A/B and rev. C.
-
-config PLATFORM_EC_CHARGER_ISL9241
- bool "Use the ISL9241 charger"
- depends on PLATFORM_EC_I2C
- # Hardware based charge ramp is broken in the ISL9241 (b/169350714)
- select PLATFORM_EC_CHARGER_CHGRAMP_BROKEN
- help
- Enables a driver for the ISL9241 VCD Battery Charger. This is a
- digitally-configurable, buck-boost battery charger that can support
- both Narrow Voltage Direct Charging (NVDC) and Hybrid Power Buck Boost
- (HPBB/Bypass) charging and switch between the modes under firmware
- control. It supports an input voltage range of 3.9-23.4V and output
- of 3.9-18.3V. It provides an I2C interface for configuration.
-
-config PLATFORM_EC_CHARGER_BQ25710
- bool "Use the BQ25710 charger"
- depends on PLATFORM_EC_I2C
- select PLATFORM_EC_CHARGER_NARROW_VDC
- help
- Enables the driver for the TI BQ25710 battery charger
- controller. This is a synchronous narrow voltage DC buck-boost
- battery charger for one to four battery cell applications. A
- wide range of input power sources are supported such as high
- voltage USB-C power delivery.
-
-config PLATFORM_EC_CHARGER_BQ25720
- bool "Use the BQ25720 charger"
- depends on PLATFORM_EC_I2C
- select PLATFORM_EC_CHARGER_NARROW_VDC
- help
- Enables the driver for the TI BQ25720 battery charger
- controller. This is a synchronous narrow voltage DC buck-boost
- battery charger for one to four battery cell applications. A
- wide range of input power sources are supported such as high
- voltage USB-C power delivery.
-
-endchoice # "Charger select"
-
-config PLATFORM_EC_CHARGER_DISCHARGE_ON_AC
- bool "Board supports discharge mode"
- help
- Enable this if the board supports discharging the battery even when
- AC power is present. This is used for testing. The function is
- provided either by the charger or by custom code in the board.
-
-if PLATFORM_EC_CHARGER_DISCHARGE_ON_AC
-
-choice "Discharge control method"
- prompt "Select the method of controlling discharge"
- help
- Select which method is provided to enable and disable the discharge
- mode.
-
-config PLATFORM_EC_CHARGER_DISCHARGE_ON_AC_CHARGER
- bool "Charger controls discharge mode"
- help
- Enable this if the charger controls selection of discharge mode.
- In this case the charger must provide a function:
-
- int charger_discharge_on_ac(int enabled)
-
- It should enable this feature if enabled is true, else disable it.
- The function should return EC_SUCCESS
-
-config PLATFORM_EC_CHARGER_DISCHARGE_ON_AC_CUSTOM
- bool "Custom control of discharge mode"
- help
- Enable this if the discharge mode is controlled by a custom function.
- This function is typically provided by the board implementation:
-
- int board_discharge_on_ac(int enabled)
-
- It should enable this feature if enabled is true, else disable it.
- The function should return EC_SUCCESS
-
-endchoice # "Discharge control method"
-
-endif # PLATFORM_EC_CHARGER_DISCHARGE_ON_AC
-
-config PLATFORM_EC_CHARGER_BQ25720_VSYS_TH2_CUSTOM
- bool "VSYS_TH2 override"
- depends on PLATFORM_EC_CHARGER_BQ25720
- help
- Enable customizing the charger's VSYS_TH2 threshold.
-
-config PLATFORM_EC_CHARGER_BQ25720_VSYS_TH2_DV
- int "VSYS threshold 2 in deci-volts"
- range 32 95
- default 32
- depends on PLATFORM_EC_CHARGER_BQ25720_VSYS_TH2_CUSTOM
- help
- Sets the VSYS threshold 2 in deci volts. This is the first
- threshold that will be encountered when VSYS droops, typically
- due to high power demand from the main processor. The charger
- chip reacts by asserting PROCHOT which the main processor uses
- as an indication to throttle back and reduce power demand. The
- charger chip uses default thresholds which may be low enough
- to cause system instability. The default for 1S batteries is
- 3.2v and 5.9v for 2S or higher batteries. The valid range is
- 3.2v - 3.9v for 1S and 3.2 - 9.5v for 2S or higher batteries.
-
-config PLATFORM_EC_CHARGER_MAINTAIN_VBAT
- bool "Maintain VBAT voltage regardless of AC state"
- help
- Leave the charger VBAT configured to battery-requested voltage under
- all conditions, even when AC is not present. This may be necessary to
- work around quirks of certain charger chips, such as the BD9995X.
-
-config PLATFORM_EC_CHARGER_NARROW_VDC
- bool
- help
- Select this if the charger uses a Narrow Voltage Direct Charging.
- Narrow VDC (NVDC) reduces power loss by reducing the voltage range of
- the VDC node. This reduction is accomplished by replacing the
- battery-charger circuit with a system-charger voltage regulator, thus
- narrowing the VDC range. This in turn enables DC/DC converter
- optimisations in the system and allows the removal of the power-path
- switch, saving additional power, board area, and cost.
-
- This should be enabled by charger drivers which need it. It cannot
- be set otherwise, even in prj.conf
-
-config PLATFORM_EC_CHARGER_OTG_SUPPORTED
- bool
- help
- Indicates that the charger supports an OTG (On-The-Go) function,
- which allows supplying output power from the battery to a connected
- device.
-
- This should be enabled by charger drivers which support it. It cannot
- be set otherwise, even in prj.conf
-
-config PLATFORM_EC_CHARGER_OTG
- bool "Allow supplying output power from the battery"
- depends on PLATFORM_EC_CHARGER_OTG_SUPPORTED
- help
- Enable charger's OTG functions, i.e. make it possible to supply
- output power from the battery. This option is available if the
- selected charger supports it.
-
-config PLATFORM_EC_CHARGER_PROFILE_OVERRIDE
- bool "Override the charger profile"
- help
- Select this if the charger should call battery_override_params() to
- limit/correct the voltage and current requested by the battery pack
- before acting on the request.
-
- The board must provide this function:
-
- void battery_override_params(struct batt_params *batt);
-
- It may modify the parameters as needed.
-
-config PLATFORM_EC_CHARGER_PSYS
- bool "Support system power-monitor (PSYS) function"
- help
- Enable this to support monitoring of system power using the charger's
- PSYS function. The charger provides an output which can be read
- using an ADC channel on the EC.
-
-config PLATFORM_EC_CHARGER_PSYS_READ
- bool "Allow reading PSYS (system power) value"
- depends on PLATFORM_EC_CHARGER_PSYS
- help
- Enable support for reading the system-power value (PSYS). This
- calls the function charger_get_system_power() which is provided
- by the charger.
-
- It also enables the "psys" console command.
-
- Sample output:
-
- PSYS from chg_adc: 456 mW
-
-config PLATFORM_EC_CHARGER_SENSE_RESISTOR
- int "Value of the charge sense-resistor, in mOhms"
- help
- The charge sense-resistor is used to detect the charge current to the
- battery. Its value must be known for the calculation to be correct.
- The value is typically around 10 mOhms.
-
-config PLATFORM_EC_CHARGER_SENSE_RESISTOR_AC
- int "Value of the input sense-resistor, in mOhms"
- help
- The input sense-resistor is used to detect the input current from the
- external AC power supply. Its value must be known for the calculation
- to be correct. The value is typically around 10 mOhms.
-
-config PLATFORM_EC_BATTERY_FUEL_GAUGE
- bool "Board supplies battery info"
- help
- The fuel gauge information is used to cut off the battery for shipping
- mode and to check the charge/discharge FET status. The battery
- information is used to set voltage, current and temperature operating
- limits for the battery.
-
-config PLATFORM_EC_CHARGER_CHGRAMP_BROKEN
- bool
- help
- This is selected if the charger's support for hardware-controlled
- charge ramping is broken. In some cases the charger has problems
- which make it unusable and we must fall back to software-controlled
- charge ramping.
-
- This should be enabled by charger drivers which need it. It cannot
- be set otherwise, even in prj.conf
-
-choice "Charge-ramp method"
- prompt "Select the charge-ramp method"
- help
- Select the method used for ramping up charging of a battery. It is
- preferred to use the hardware method if the charger chip can support
- it. If not, software-controlled charging can be used, with a slight
- increase in code size.
-
-config PLATFORM_EC_CHARGE_RAMP_HW
- bool "Hardware-controlled charging"
- depends on !PLATFORM_EC_CHARGER_CHGRAMP_BROKEN
- help
- Disables software control of ramping up charging. This is used when
- the hardware has a a mechanism for ramping input current and
- backing-off as needed.
-
-config PLATFORM_EC_CHARGE_RAMP_SW
- bool "Software-controlled charging"
- select HAS_TASK_CHG_RAMP
- help
- Enables ramping up charging from an external source to the maximum
- available within the source's limits and taking into account the
- current needs of the device. It handles the user plugging chargers in
- and removing them.
-
-endchoice # "Charge-ramp method"
-
-config PLATFORM_EC_CONSOLE_CMD_CHARGER_ADC_AMON_BMON
- bool "Console command: amonbmon"
- help
- Enable the 'amonbmon' command. This shows the charger adapter-current
- monitor (AMON) and battery-charging current monitor (BMON).
-
- amonbmon a | b
-
-config PLATFORM_EC_CONSOLE_CMD_CHGRAMP
- bool "Console command: chgramp"
- depends on PLATFORM_EC_CHARGE_RAMP_SW
- default y
- help
- Enable the "chgramp" command. This shows the current state of the
- chg_ramp task. It shows the state of each port and the current limit
- for each port. The 'State' shown is from enum chg_ramp_state.
-
- Chg Ramp:
- State: 5
- Min ICL: 2000
- Active ICL: 2000
- Port 0:
- OC idx:0
- OC 0: s-1 oc_det0 icl0
- OC 1: s0 oc_det0 icl0
- OC 2: s0 oc_det0 icl0
- Port 1:
- OC idx:0
- OC 0: s-1 oc_det0 icl0
- OC 1: s0 oc_det0 icl0
- OC 2: s0 oc_det0 icl0
-
-config PLATFORM_EC_BATTERY_CRITICAL_SHUTDOWN_CUT_OFF
- bool "Enable battery cut off on critical power level"
- help
- If this option is enabled, the battery will enter cut-off
- mode in case of critical power level.
-
-config PLATFORM_EC_BATTERY_CHECK_CHARGE_TEMP_LIMITS
- bool "Monitor battery temperature while charging"
- help
- Enable monitoring of battery temperature while charging and
- stop charging if is outside of the safe range.
-
-config PLATFORM_EC_BATTERY_CUT_OFF
- bool "Host/Console command: battery cut-off"
- help
- Enables support for disconnecting the battery using the "cutoff"
- console command and the EC_CMD_BATTERY_CUT_OFF host command.
- Once defined, a board specific board_cut_off_battery() function
- has to be provided.
-
-config PLATFORM_EC_BATTERY_HW_PRESENT_CUSTOM
- bool "Hardware check of battery presence"
- help
- Once defined, the charger will check a board specific function
- battery_hw_present() for battery hw presence as an additional
- condition to determine if power on is allowed for factory override,
- where allowing booting of a bare board with no battery and no power
- button press is required.
-
-config PLATFORM_EC_BATTERY_REVIVE_DISCONNECT
- bool "Check battery disconnect state"
- help
- Check for battery in disconnect state (similar to cut-off state).
- If this battery is found to be in disconnect state, take it out of
- this state by force-applying a charge current. Once defined,
- a battery_get_disconnect_state() function has to be provided.
-
-config PLATFORM_EC_BATTERY_MEASURE_IMBALANCE
- bool "Measure the battery cells imbalance"
- help
- Smart battery driver should measure the voltage cell imbalance in the
- battery pack.
- This requires a battery driver capable of the measurement.
- If enabled, the AP enabling may be prevented if battery is too
- imbalanced.
-
-config PLATFORM_EC_BATTERY_MAX_IMBALANCE_MV
- int "Max battery imbalance in millivolts"
- depends on PLATFORM_EC_BATTERY_MEASURE_IMBALANCE
- default 200
- help
- Imbalanced battery packs in this situation appear to have balanced
- charge very quickly after beginning the charging cycle, since dV/dQ
- rapidly decreases as the cell is charged out of deep discharge.
- Increasing the value of
- CONFIG_PLATFORM_EC_CHARGER_MIN_BAT_PCT_IMBALANCED_POWER_ON will make a
- system tolerant of larger values of
- CONFIG_PLATFORM_EC_BATTERY_MAX_IMBALANCE_MV.
-
-config PLATFORM_EC_CHARGER_MIN_BAT_PCT_IMBALANCED_POWER_ON
- int "Minimum battery percentage for power on with an imbalanced pack"
- depends on PLATFORM_EC_BATTERY_MEASURE_IMBALANCE
- default 5
- range 0 100
- help
- If battery pack is in imbalanced state and current state of charge is
- below this value, the AP won't be powered on.
-
-config PLATFORM_EC_BATT_FULL_CHIPSET_OFF_INPUT_LIMIT_MV
- int "Voltage limit in mV when battery is full and AP is off"
- depends on PLATFORM_EC_USB_PE_SM && PLATFORM_EC_CHARGE_MANAGER
- default -1
- help
- If set to a non-negative value, input voltage will be reduced to given
- value when chipset is in S5/G3 state and battery is fully charged.
- This condition is checked on chipset shutdown and startup, AC change
- and battery SOC change.
-
-endif # PLATFORM_EC_BATTERY